.vlp{--vlp-line:#d6d6d0;--vlh-ready:#9bb8b5;--vlh-gap:#c1913a;--vlh-block:#f65634;--vlh-off:#5c5d58}.vlp .pp-hero-art{box-sizing:border-box;padding:calc(var(--fl-nav-h) + 24px) max(var(--fl-gutter), calc(50vw - var(--fl-wrap-max) / 2 + var(--fl-gutter))) 40px 0;justify-content:flex-end;align-items:center;display:flex}.vlp .pp-hero-art>.vlh{width:min(620px,100%);height:auto}@media (min-width:1024px){.vlp{--vlh-w:clamp(500px, calc(100vw - 2 * var(--fl-gutter) - 654px), 620px)}.vlp .pp-hero-art>.vlh{width:var(--vlh-w)}.vlp{--vlh-text:calc(min(100vw, var(--fl-wrap-max)) - 2 * var(--fl-gutter) - var(--vlh-w) - 64px)}.vlp .pp-hero-in .pp-h1{max-width:min(9.5em, var(--vlh-text))}.vlp .pp-hero-in .pp-hero-lede{max-width:min(30em, var(--vlh-text))}}.vlh{z-index:2;flex-direction:column;gap:14px;display:flex;position:relative}.vlh-h{font:500 11px/1.4 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#979794;border-bottom:1px solid #3a3b38;justify-content:space-between;align-items:baseline;gap:10px;margin:0;padding-bottom:10px;display:flex}.vlh-h b{color:#f6f6f3;font-weight:500}.vlh.is-ranked .vlh-h span{color:var(--vlh-ready)}.vlh-stage{aspect-ratio:100/58;position:relative;container-type:inline-size}.vlh-dot{width:2.3cqw;height:2.3cqw;box-shadow:inset 0 0 0 1px var(--vlh-off);transform:translate(calc(var(--x) * 1cqw), calc(var(--y) * 1cqw));transition:transform .9s cubic-bezier(.65,0,.25,1) var(--md,0s),box-shadow .35s ease var(--cd,0s);border-radius:50%;position:absolute;top:0;left:0}.vlh-dot:before{content:"";background:var(--vlh-c,transparent);clip-path:inset(0 var(--vlh-clip,0) 0 0);opacity:0;transition:opacity .35s ease var(--cd,0s);border-radius:50%;position:absolute;inset:0}.vlh-dot.is-r{--vlh-c:var(--vlh-ready);--vlh-ring:var(--vlh-ready)}.vlh-dot.is-g{--vlh-c:var(--vlh-gap);--vlh-ring:var(--vlh-gap);--vlh-clip:50%}.vlh-dot.is-b{--vlh-ring:var(--vlh-block)}.vlh.is-checked .vlh-stage .vlh-dot,.vlh-key .vlh-dot{box-shadow:inset 0 0 0 1.5px var(--vlh-ring)}.vlh.is-checked .vlh-stage .vlh-dot:before,.vlh-key .vlh-dot:before{opacity:1}.vlh-dl span{left:calc(var(--x) * 1cqw);white-space:nowrap;font:500 9px/1 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#979794;transition:opacity .4s;position:absolute;top:47cqw;transform:translate(-50%)}.vlh.is-ranked .vlh-dl span{opacity:0}.vlh-mx{opacity:0;transition:opacity .5s;position:absolute;inset:0}.vlh.is-ranked .vlh-mx{opacity:1;transition-delay:.35s}.vlh-cell{left:calc(var(--x) * 1cqw);top:calc(var(--y) * 1cqw);width:calc(var(--w) * 1cqw);height:calc(var(--h) * 1cqw);box-sizing:border-box;border:1px solid #3a3b38;position:absolute}.vlh-cell.is-win{border-color:var(--vlh-ready);background:#9bb8b512}.vlh-cell span{font:500 9px/1 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vlh-ready);position:absolute;top:1.3cqw;left:1.6cqw}.vlh-ax{font:500 9px/1 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#979794;position:absolute}.vlh-ax.is-y{top:25cqw;left:0;transform:translate(-30%,-50%)rotate(-90deg)}.vlh-ax.is-y:after{content:" →"}.vlh-ax.is-x{top:52.6cqw;left:53cqw;transform:translate(-50%)}.vlh-ax.is-x:after{content:" →"}.vlh-beat{font:400 16px/1.4 var(--fl-font-sans);color:#f6f6f3;align-items:baseline;gap:12px;margin:2px 0 0;display:flex}.vlh-beat span{white-space:nowrap;font:500 11px/1 var(--fl-font-mono);letter-spacing:.08em;color:#979794;flex:none}.vlh-key{font:400 13px/1 var(--fl-font-sans);color:#ccccc9;flex-wrap:wrap;gap:8px 18px;margin:0;display:flex}.vlh-key span{align-items:center;gap:7px;display:inline-flex}.vlh-key .vlh-dot{width:11px;height:11px;transition:none;position:relative;transform:none}.vlp-part{scroll-margin-top:var(--fl-nav-h)}.vlp-head{column-gap:var(--fl-split-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;display:grid}.vlp-head .pp-body{margin:0}.vlp-head .pp-body+.pp-body{margin-top:.9em}.vlp-fx{border:1px solid var(--vlp-line);background:#fff;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;gap:24px;padding:20px;display:grid}.vlp-fx-iso{background:#f6f6f3 radial-gradient(circle,#deded8 1px,#0000 1.2px) 0 0/14px 14px;justify-content:center;align-items:center;min-width:0;padding:14px 10px;display:flex}.vlp-fx-side{min-width:0;font-family:var(--fl-font-sans);color:var(--fl-ink);flex-direction:column;display:flex}.vlp-fx-side.is-mid{justify-content:center}.vlp-i-svg{width:100%;height:auto;display:block;overflow:visible}.vlp-i-t,.vlp-i-l,.vlp-i-r{stroke-width:.9px;stroke-linejoin:round;transition:fill .35s,stroke .35s}.vlp-i-t{fill:#fff;stroke:#8a8b85}.vlp-i-l{fill:#ededea;stroke:#8a8b85}.vlp-i-r{fill:#e2e2dd;stroke:#8a8b85}.vlp-i-t.is-on{fill:var(--fl-canal);stroke:#163330}.vlp-i-l.is-on{fill:#2f5653;stroke:#163330}.vlp-i-r.is-on{fill:#264744;stroke:#163330}.vlp-i-print{font:500 7px var(--fl-font-mono);letter-spacing:.12em;fill:#8a8b85;transition:fill .35s}.vlp-i-print.is-light{fill:#f6f6f3}.vlp-i-count{font:600 9px var(--fl-font-mono);letter-spacing:.04em;fill:var(--fl-ink)}.vlp-i-print.is-slot{fill:#b4b5ae}.vlp-i-print.is-slot.is-on{fill:var(--fl-ink)}.vlp-i-socket{fill:none;stroke:var(--fl-canal);stroke-width:1px;stroke-dasharray:3 2.5}.vlp-i-lift{fill:none;stroke:var(--fl-canal);stroke-width:1px;stroke-dasharray:3 3}.vlp-i-glyph rect,.vlp-i-glyph circle{fill:#d4d5cf;transition:fill .35s,stroke .35s}.vlp-i-glyph .vlp-i-ring{fill:none;stroke:#c9cac3;stroke-width:1.6px}.vlp-i-glyph .is-hi{fill:#b9cfcb}.vlp-i-layer.is-on .vlp-i-glyph rect,.vlp-i-layer.is-on .vlp-i-glyph circle{fill:#9bb8b5}.vlp-i-layer.is-on .vlp-i-glyph .vlp-i-ring{fill:none;stroke:#9bb8b5}.vlp-i-layer.is-on .vlp-i-glyph .is-hi{fill:#f6f6f3}.vlp-i-lead{stroke:#b4b5ae;stroke-width:.8px;transition:stroke .35s}.vlp-i-label{font:500 8px var(--fl-font-mono);letter-spacing:.1em;fill:#8a8b85;transition:fill .35s}.vlp-i-layer.is-on .vlp-i-lead{stroke:var(--fl-canal)}.vlp-i-layer.is-on .vlp-i-label{fill:var(--fl-canal)}.vlp-i-slot{fill:#ffffff8c;stroke:#b4b5ae;stroke-width:1px;stroke-dasharray:4 3;transition:stroke .3s,fill .3s}.vlp-i-slot.is-gap{fill:#c1913a1a;stroke:#c1913a}.vlp-i-slot.is-block{fill:#c2412a14;stroke:#c2412a}.vlp-i-tbl{transition:transform .45s cubic-bezier(.3,1.4,.5,1)}.vlp-i-tbl.is-on{transform:translateY(-6px)}.vlp-i-tag rect{fill:#fff;stroke:var(--fl-canal);stroke-width:1px}.vlp-i-tag text{font:600 9px var(--fl-font-mono);fill:var(--fl-canal);text-anchor:middle}.vlp-i-tag.is-gap rect{stroke:#c1913a}.vlp-i-tag.is-gap text{fill:#8a621c}.vlp-i-tag.is-block rect{stroke:#c2412a}.vlp-i-tag.is-block text{fill:#a33a26}.vlp-case{flex-direction:column;height:100%;display:flex}.vlp-case-h{font:500 11px/1.4 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);align-items:center;gap:6px;margin:0;display:flex}.vlp-case-h svg{color:var(--fl-canal)}.vlp-case-h em{letter-spacing:0;text-transform:none;margin-left:auto;font-style:normal;font-weight:400}.vlp-case-t{font:500 18px/1.3 var(--fl-font-sans);letter-spacing:-.008em;margin:8px 0 0}.vlp-case-m{color:var(--fl-text-muted);margin:2px 0 0;font-size:13px}.vlp-parts{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.vlp-parts>li{border:1px solid #e4e4df;transition:border-color .2s}.vlp-parts>li.is-on{border-color:var(--fl-canal)}.vlp-parts button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:112px minmax(0,1fr);align-items:baseline;gap:12px;margin:0;padding:10px 12px;display:grid}.vlp-parts button:focus-visible,.vlp-pick button:focus-visible{outline:2px solid var(--fl-focus);outline-offset:2px}.vlp-parts-k{font:500 10px/1.4 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);transition:color .2s}.vlp-parts-v{font:400 14px/1.45 var(--fl-font-sans);color:var(--fl-text-secondary);transition:color .2s}.vlp-parts>li.is-on .vlp-parts-k{color:var(--fl-canal)}.vlp-parts>li.is-on .vlp-parts-v{color:var(--fl-ink)}.vlp-add{font:500 14px/1.3 var(--fl-font-sans);border:1px dashed #cfcfc8;align-items:center;gap:8px;margin:10px 0 0;padding:10px 12px;display:flex}.vlp-add svg{color:var(--fl-canal)}.vlp-add span{color:var(--fl-text-muted);margin-left:auto;font-size:13px;font-weight:400}.vlp-pick-h{font:500 11px/1.4 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);margin:0 0 10px}.vlp-pick{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vlp-pick>li{border:1px solid #e4e4df;transition:border-color .2s}.vlp-pick>li.is-on{border-color:var(--fl-canal)}.vlp-pick button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 12px;display:flex}.vlp-pick b{font:450 15px/1.3 var(--fl-font-sans);color:var(--fl-ink)}.vlp-vd{font:400 13px/1 var(--fl-font-sans);color:var(--fl-ink);flex:none;align-items:center;gap:6px;display:inline-flex}.vlp-vd i{background:var(--fl-canal);border-radius:50%;width:7px;height:7px}.vlp-vd span{color:var(--fl-text-muted);font-variant-numeric:tabular-nums}.vlp-vd.is-gap i{background:#c1913a}.vlp-vd.is-block i{background:#c2412a}.vlp-run-h{font:400 14px/1.3 var(--fl-font-sans);align-items:center;gap:8px;margin:0 0 12px;display:flex}.vlp-run-h svg{color:var(--fl-canal)}.vlp-run-h b{font-weight:500}.vlp-run-h span{color:var(--fl-text-muted);margin-left:auto;font-size:12px}.vlp-rd-stack{margin-top:14px;display:grid}.vlp-rd{box-sizing:border-box;background:#fff;border:1px solid #e4e4df;grid-area:1/1;padding:12px 16px 14px;transition:opacity .3s}.vlp-rd:not(.is-on){visibility:hidden;opacity:0}.vlp-steps{margin:0;padding:0;list-style:none}.vlp-steps li{font:400 13px/1.45 var(--fl-font-sans);color:var(--fl-text-secondary);align-items:flex-start;gap:8px;padding:4px 0;display:flex}.vlp-steps svg{color:var(--fl-canal);flex:none;margin-top:2px}.vlp-steps li.is-gap svg{color:#c1913a}.vlp-steps li.is-block svg{color:#c2412a}.vlp-worth{font:500 15px/1.3 var(--fl-font-sans);color:var(--fl-ink);border-top:1px solid #f0f0ec;align-items:baseline;gap:10px;margin:8px 0 0;padding-top:10px;display:flex}.vlp-worth span{font:500 10px/1.3 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted)}.vlp-sug{border:1px dashed #c2412a;margin-top:12px;padding:12px 12px 12px 14px}.vlp-sug.is-gap{border-color:#c1913a}.vlp-sug.is-ok{border-color:#b9cfcb}.vlp-sug-k{font:500 10px/1.3 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);margin:0}.vlp-sug-t{font:500 15px/1.3 var(--fl-font-sans);color:var(--fl-ink);align-items:center;gap:7px;margin:6px 0 0;display:flex}.vlp-sug-t svg{color:var(--fl-canal)}.vlp-sug-t span{color:var(--fl-text-muted);margin-left:auto;font-size:13px;font-weight:400}.vlp-sug-w{font:400 13px/1.45 var(--fl-font-sans);color:var(--fl-text-secondary);margin:4px 0 10px}.vlp-connect{background:var(--fl-canal);font:500 13px/1 var(--fl-font-sans);color:#f6f6f3;cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.vlp-connect:hover{background:#163330}.vlp-connect:focus-visible{outline:2px solid var(--fl-focus);outline-offset:2px}.vlp-connect.is-wide{width:100%;margin-top:12px;padding:11px 14px}.vlp-src button{align-items:center}.vlp-src-n,.vlp-src-v{flex-direction:column;gap:2px;min-width:0;display:flex}.vlp-src-v{text-align:right;flex:none;align-items:flex-end}.vlp-src-n b{font:450 15px/1.3 var(--fl-font-sans);color:var(--fl-ink)}.vlp-src-v b{font:500 13px/1.3 var(--fl-font-sans);color:var(--fl-ink)}.vlp-src small{font:400 12px/1.3 var(--fl-font-sans);color:var(--fl-text-muted);font-variant-numeric:tabular-nums}.vlp-i-walk{fill:none;stroke:var(--fl-canal);stroke-width:1.2px;stroke-dasharray:2 3;opacity:.75}.vlp-i-bot{fill:var(--fl-canal);stroke:#fff;stroke-width:1.2px}.vlp-i-x-t,.vlp-i-x-l,.vlp-i-x-r{stroke:#8a8b85;stroke-width:.9px;stroke-dasharray:3 2.5;stroke-linejoin:round;transition:fill .35s,stroke .35s}.vlp-i-x-t{fill:#fff}.vlp-i-x-l{fill:#f4f4f1}.vlp-i-x-r{fill:#ededea}.vlp-i-link{fill:none;stroke:#b4b5ae;stroke-width:1.1px;stroke-dasharray:4 3;transition:stroke .35s}.vlp-i-ext.is-gap :is(.vlp-i-x-t,.vlp-i-x-l,.vlp-i-x-r,.vlp-i-link){stroke:#c1913a}.vlp-i-ext.is-block :is(.vlp-i-x-t,.vlp-i-x-l,.vlp-i-x-r,.vlp-i-link){stroke:#c2412a}.vlp-i-ext .vlp-i-link,.vlp-i-src.is-on .vlp-i-link{animation:1.1s linear infinite vlp-flow}.vlp-i-fence{stroke:#8a8b85;stroke-width:1px;stroke-dasharray:5 4}.vlp-i-gate{fill:#fff;stroke:#8a8b85;stroke-width:1px;transition:fill .35s,stroke .35s}.vlp-i-src.is-on .vlp-i-link{stroke:var(--fl-canal)}.vlp-i-src.is-on .vlp-i-gate{fill:var(--fl-canal);stroke:var(--fl-canal)}.vlp-i-src.is-on :is(.vlp-i-x-t,.vlp-i-x-l,.vlp-i-x-r){stroke:var(--fl-canal);stroke-dasharray:none}.vlp-i-src.is-on .vlp-i-x-t{fill:#e8f0ef}.vlp-i-tag.is-solid rect{fill:var(--fl-canal)}.vlp-i-tag.is-solid.is-gap rect{fill:#c1913a}.vlp-i-tag.is-solid.is-block rect{fill:#c2412a}.vlp-i-tag.is-solid text{fill:#fff}@keyframes vlp-flow{to{stroke-dashoffset:-14px}}.vlp-demo{font:400 11px/1.4 var(--fl-font-mono);color:var(--fl-text-muted);margin:10px 0 0}.vlp-bar{border-bottom:1px solid #ebebe6;align-items:baseline;gap:10px;margin:0;padding:14px 20px;font-size:14px;display:flex}.vlp-bar b{font-weight:500}.vlp-bar span{color:var(--fl-text-muted);font-size:13px}.vlp-bar em{font:400 11px/1 var(--fl-font-mono);color:var(--fl-text-muted);margin-left:auto;font-style:normal}.vlp-thread{flex-direction:column;flex:1;justify-content:flex-end;gap:18px;padding:20px 20px 8px;display:flex}.vlp-msg{transition:opacity .35s,transform .35s}.vlp-msg.is-hidden{opacity:0;transform:translateY(4px)}.vlp-cr .is-hidden,.vlp-msg.is-hidden{visibility:hidden}.vlp-slot{position:relative}.vlp-run.is-over{position:absolute;top:0;left:0}.vlp-who{font:500 12px/1.3 var(--fl-font-sans);color:var(--fl-text-muted);margin:0 0 6px}.vlp-say{max-width:40em;font:400 15px/1.5 var(--fl-font-sans);color:var(--fl-ink);margin:0}.vlp-run{font:400 13px/1.4 var(--fl-font-sans);color:var(--fl-text-muted);align-items:center;gap:8px;margin:0;animation:.35s both vlp-in;display:flex}.vlp-run i{background:var(--fl-canal);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite vlp-pulse}.vlp-tbl{border-collapse:collapse;width:100%;max-width:560px;font:400 13px/1.3 var(--fl-font-sans);font-variant-numeric:tabular-nums;margin:14px 0 0}.vlp-tbl th{font:500 11px/1.3 var(--fl-font-mono);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--fl-text-muted);border-bottom:1px solid #e4e4df;padding:0 12px 8px 0}.vlp-tbl td{border-bottom:1px solid #f0f0ec;padding:9px 12px 9px 0}.vlp-tbl th:nth-child(n+3),.vlp-tbl td:nth-child(n+3){text-align:right}.vlp-tbl td.is-mono{font:400 12px/1.3 var(--fl-font-mono);color:var(--fl-text-secondary)}.vlp-rcpt{font:400 12px/1.3 var(--fl-font-mono);color:var(--fl-text-muted);margin:12px 0 0}.vlp-compose{border:1px solid var(--vlp-line);border-radius:8px;align-items:center;gap:10px;margin:12px 20px 20px;padding:10px 10px 10px 12px;display:flex}.vlp-input{white-space:nowrap;text-overflow:ellipsis;min-width:0;font:400 14px/1.4 var(--fl-font-sans);color:var(--fl-text-muted);flex:1;margin:0;overflow:hidden}.vlp-input.is-typed{color:var(--fl-ink)}.vlp-send{background:var(--fl-canal);color:#f6f6f3;border-radius:6px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}@keyframes vlp-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes vlp-pulse{50%{opacity:.35}}.vlp-cr{border:1px solid var(--vlp-line);background:#fff;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;padding:20px;display:grid}.vlp-cr-chat{min-width:0;font-family:var(--fl-font-sans);color:var(--fl-ink);border:1px solid #e4e4df;flex-direction:column;display:flex}.vlp-cr-att{border:1px solid var(--vlp-line);background:#fafaf8;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.vlp-cr-att>svg{color:var(--fl-canal);flex:none}.vlp-cr-att p{flex-direction:column;gap:2px;min-width:0;margin:0;display:flex}.vlp-cr-att b{font:500 14px/1.3 var(--fl-font-sans)}.vlp-cr-att p span{color:var(--fl-text-muted);font-size:12px}.vlp-cr-att .vlp-vd{margin-left:auto}.vlp-cr-case{min-width:0;font-family:var(--fl-font-sans);color:var(--fl-ink);border:1px solid #e4e4df;flex-direction:column;padding:16px 18px;display:flex}.vlp-cr-num{flex-direction:column;gap:4px;margin:18px 0 0;display:flex}.vlp-cr-num b{font:600 36px/1 var(--fl-font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#c9cac3;transition:color .4s}.vlp-cr-case.is-valued .vlp-cr-num b{color:var(--fl-canal)}.vlp-cr-num b.is-wait{letter-spacing:-.01em;color:var(--fl-text-muted);font-size:22px;line-height:36px}.vlp-cr-num span{color:var(--fl-text-muted);font-size:13px}.vlp-cr-chart{border-bottom:1px solid #cfcfc8;align-items:flex-end;gap:3px;height:112px;margin-top:18px;display:flex}.vlp-cr-chart i{box-sizing:border-box;flex:1;min-width:0;transition:height .6s cubic-bezier(.2,.7,.2,1)}.vlp-cr-chart i.is-past{background:#c9cac3}.vlp-cr-case.is-found .vlp-cr-chart i.is-past{background:#9c9d96}.vlp-cr-chart i.is-next{border:1px dashed #b4b5ae;border-bottom:0}.vlp-cr-case.is-valued .vlp-cr-chart i.is-next{border-color:var(--fl-canal);background:#e8f0ef}.vlp-cr-now{background:var(--fl-ink);flex:none;align-self:stretch;width:1px;margin:0 5px}.vlp-cr-axis{font:400 12px/1.3 var(--fl-font-mono);color:var(--fl-text-muted);justify-content:space-between;gap:12px;margin:7px 0 0;display:flex}.vlp-cr.is-reset *,.vlp-fx.is-reset .vlp-i-move,.vlp-fx.is-reset .vlp-i-person{transition:none!important}.vlp-cr-case .vlp-ho-act{margin-top:auto;padding-top:16px}.vlp-qb-stage{background:#f6f6f3 radial-gradient(circle,#deded8 1px,#0000 1.2px) 0 0/14px 14px;flex-direction:column;justify-content:center;gap:10px;min-width:0;padding:16px 14px 14px;display:flex}.vlp-qb-svg{width:100%;height:auto;display:block;overflow:visible}.vlp-qb-plot{fill:#fff;stroke:#d6d6d0;stroke-width:1px}.vlp-qb-win{fill:#eef4f3}.vlp-qb-wl{font:600 9px var(--fl-font-mono);letter-spacing:.1em;fill:var(--fl-canal)}.vlp-qb-grid{stroke:#ecece7;stroke-width:1px}.vlp-qb-tick{font:400 10px var(--fl-font-mono);fill:#8a8b85;text-anchor:middle}.vlp-qb-tick.is-y{text-anchor:end}.vlp-qb-axis{font:500 9px var(--fl-font-mono);letter-spacing:.1em;fill:#8a8b85;text-anchor:middle}.vlp-qb-dot{stroke-width:1.3px;transition:opacity .35s,stroke-width .2s,fill .2s}.vlp-qb-dot.is-r{fill:#dce6e4;stroke:var(--fl-canal)}.vlp-qb-dot.is-g{fill:#f4e8d0;stroke:#c1913a}.vlp-qb-dot.is-b{fill:#fff;stroke:#c2412a;stroke-dasharray:3 2}.vlp-qb-dot.is-dim{opacity:.13}.vlp-qb-dot.is-sel{stroke-width:2.6px}.vlp-qb-dot.is-r.is-sel{fill:var(--fl-canal)}.vlp-qb-tag text{font:500 11px var(--fl-font-sans);fill:var(--fl-ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.vlp-qb-key{font:400 12px/1.2 var(--fl-font-sans);color:var(--fl-text-muted);flex-wrap:wrap;gap:6px 16px;margin:0 0 0 11%;display:flex}.vlp-qb-key span{align-items:center;gap:6px;display:inline-flex}.vlp-qb-key i{box-sizing:border-box;border-radius:50%;width:10px;height:10px}.vlp-qb-key i.is-r{border:1.3px solid var(--fl-canal);background:#dce6e4}.vlp-qb-key i.is-g{background:#f4e8d0;border:1.3px solid #c1913a}.vlp-qb-key i.is-b{background:#fff;border:1.3px dashed #c2412a}.vlp-qb-seg{border:1px solid #e4e4df;border-radius:6px;margin-top:12px;display:flex;overflow:hidden}.vlp-qb-seg button{font:500 13px/1.2 var(--fl-font-sans);color:var(--fl-text-secondary);white-space:nowrap;cursor:pointer;background:#fff;border:0;border-left:1px solid #e4e4df;flex:1;padding:8px 6px;transition:background-color .2s,color .2s}.vlp-qb-seg button:first-child{border-left:0}.vlp-qb-seg button.is-on{color:var(--fl-canal);background:#eef4f3}.vlp-qb-seg button:focus-visible{outline:2px solid var(--fl-focus);outline-offset:-2px}.vlp-qb-sub{font:400 13px/1.4 var(--fl-font-sans);color:var(--fl-text-muted);margin:12px 0 6px}.vlp-qb-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vlp-qb-list button{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e4df;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;transition:border-color .2s;display:grid}.vlp-qb-list button.is-on{border-color:var(--fl-canal)}.vlp-qb-list button:focus-visible{outline:2px solid var(--fl-focus);outline-offset:2px}.vlp-qb-n{font:500 11px/1 var(--fl-font-mono);color:var(--fl-text-muted)}.vlp-qb-t,.vlp-qb-v{flex-direction:column;gap:2px;min-width:0;display:flex}.vlp-qb-t b{font:450 14px/1.3 var(--fl-font-sans);color:var(--fl-ink)}.vlp-qb-t small{color:var(--fl-text-muted);font-size:12px}.vlp-qb-v{align-items:flex-end}.vlp-qb-v b{font:500 14px/1.3 var(--fl-font-sans);font-variant-numeric:tabular-nums;color:var(--fl-ink)}.vlp-qb-v small{font-size:12px}.vlp-qb-v small.is-r{color:var(--fl-canal)}.vlp-qb-v small.is-g{color:#8a621c}.vlp-qb-v small.is-b{color:#a33a26}.vlp-qb-f{font:400 13px/1.45 var(--fl-font-sans);color:var(--fl-text-secondary);margin:12px 0 0}.vlp-qb-f b{color:var(--fl-ink);font-weight:500}.vlp-cr-roi{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.vlp-cr-roi div{border:1px solid #e4e4df;padding:9px 12px}.vlp-cr-roi dt{font:500 10px/1.3 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted)}.vlp-cr-roi dd{font:600 16px/1.3 var(--fl-font-sans);font-variant-numeric:tabular-nums;color:var(--fl-ink);margin:4px 0 0}.vlp-cr-roi .is-hi dd{color:var(--fl-canal);font-size:20px;line-height:1.1}.vlp-cr-why{font:400 12px/1.45 var(--fl-font-sans);color:var(--fl-text-muted);margin:10px 0 0}.vlp-bp-svg{max-height:470px}.vlp-i-t.is-soft{fill:#e8f0ef;stroke:var(--fl-canal)}.vlp-bp-post{fill:none;stroke:var(--fl-canal);stroke-width:.8px;stroke-dasharray:2 3;opacity:.7}.vlp-bp-rule path{fill:none;stroke:#b4b5ae;stroke-width:2px;stroke-linecap:round;transition:stroke .35s}.vlp-bp-rule rect{fill:#fff;stroke:#b4b5ae;stroke-width:1px;transition:stroke .35s}.vlp-bp-rule text{font:600 9px var(--fl-font-mono);letter-spacing:.06em;fill:#8a8b85;text-anchor:middle;transition:fill .35s}.vlp-bp-rule.is-on path,.vlp-bp-rule.is-on rect{stroke:var(--fl-canal)}.vlp-bp-rule.is-on text{fill:var(--fl-canal)}.vlp-bp-out rect{fill:#d4d5cf;transition:fill .35s}.vlp-bp-out .vlp-bp-flag{fill:#c9cac3}.vlp-bp-out.is-on rect{fill:#9bb8b5}.vlp-bp-out.is-on .vlp-bp-flag{fill:var(--fl-canal)}.vlp-bp-lab line{stroke:#b4b5ae;stroke-width:.8px;transition:stroke .35s}.vlp-bp-lab text{font:500 8px var(--fl-font-mono);letter-spacing:.1em;fill:#8a8b85;transition:fill .35s}.vlp-bp-lab.is-on line{stroke:var(--fl-canal)}.vlp-bp-lab.is-on text{fill:var(--fl-canal)}.vlp-bp-h{justify-content:space-between;align-items:center;gap:12px;display:flex}.vlp-bp-h .vlp-ho-ex{padding:6px 10px;font-size:12px}.vlp-bp-lanes{flex-direction:column;gap:6px;margin-top:12px;display:flex}.vlp-bp-lane{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:10px;display:grid}.vlp-bp-lk{font:500 10px/1.3 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);padding-top:9px}.vlp-bp-lane ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vlp-bp-lane li{background:#fff;border:1px solid #e4e4df;flex-direction:column;gap:1px;padding:6px 10px;display:flex}.vlp-bp-lane li.is-on{border-color:var(--fl-canal);background:#f3f7f6}.vlp-bp-lane b{font:450 13px/1.3 var(--fl-font-sans);color:var(--fl-ink)}.vlp-bp-lane small{color:var(--fl-text-muted);font-size:11px}.vlp-bp-k{font:500 10px/1.3 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 6px;display:flex}.vlp-bp-k em{letter-spacing:0;text-transform:none;font-style:normal;font:400 12px/1.3 var(--fl-font-sans)}.vlp-bp-plan{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vlp-bp-plan>li{border:1px solid #e4e4df;transition:border-color .2s}.vlp-bp-plan>li.is-on{border-color:var(--fl-canal)}.vlp-bp-plan button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:12px;margin:0;padding:9px 12px;display:grid}.vlp-bp-plan button:focus-visible{outline:2px solid var(--fl-focus);outline-offset:2px}.vlp-bp-pk{font:500 10px/1.4 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);transition:color .2s}.vlp-bp-pv{font:400 13px/1.45 var(--fl-font-sans);color:var(--fl-text-secondary);transition:color .2s}.vlp-bp-plan>li.is-on .vlp-bp-pk{color:var(--fl-canal)}.vlp-bp-plan>li.is-on .vlp-bp-pv{color:var(--fl-ink)}.vlp-ho-k{font:500 10px/1.3 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);margin:14px 0 6px}.vlp-ho-dl{border-top:1px solid #f0f0ec;margin:0}.vlp-ho-dl div{border-bottom:1px solid #f0f0ec;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:7px 0;display:grid}.vlp-ho-dl dt{font:500 13px/1.4 var(--fl-font-sans);color:var(--fl-ink)}.vlp-ho-dl dd{font:400 13px/1.4 var(--fl-font-sans);color:var(--fl-text-secondary);margin:0}.vlp-ho-to{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vlp-ho-to button{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e4df;align-items:center;gap:10px;padding:9px 12px;transition:border-color .2s;display:flex}.vlp-ho-to button:focus-visible{outline:2px solid var(--fl-focus);outline-offset:2px}.vlp-ho-to i{border-radius:50%;flex:none;width:12px;height:12px;transition:box-shadow .2s;box-shadow:inset 0 0 0 1.5px #b4b5ae}.vlp-ho-to b{font:450 14px/1.3 var(--fl-font-sans);color:var(--fl-ink)}.vlp-ho-to span{color:var(--fl-text-muted);white-space:nowrap;margin-left:auto;font-size:12px}.vlp-ho-to button.is-on{border-color:var(--fl-canal)}.vlp-ho-to button.is-on i{box-shadow:inset 0 0 0 4px var(--fl-canal)}.vlp-ho-to button:disabled{cursor:not-allowed;background:#fafaf8}.vlp-ho-to button:disabled b{color:var(--fl-text-muted)}.vlp-ho-to button:disabled span{color:#a33a26}.vlp-ho-note{font:400 13px/1.45 var(--fl-font-sans);color:var(--fl-ink);background:#f6f6f3;gap:10px;margin:12px 0 0;padding:10px 12px;display:flex}.vlp-ho-note span{font:500 10px/1.9 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);flex:none}.vlp-ho-act{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.vlp-ho-act .vlp-connect{min-width:116px}.vlp-connect.is-done{background:#2f5653}.vlp-ho-ex{border:1px solid var(--vlp-line);font:500 13px/1 var(--fl-font-sans);color:var(--fl-ink);cursor:pointer;background:#fff;border-radius:4px;padding:7px 12px}.vlp-ho-ex:hover{border-color:var(--fl-ink)}.vlp-ho-ex:focus-visible{outline:2px solid var(--fl-focus);outline-offset:2px}.vlp-ho-log{min-height:17px;font:400 12px/1.4 var(--fl-font-mono);color:var(--fl-canal);opacity:0;margin:10px 0 0;transition:opacity .3s}.vlp-ho-log.is-on{opacity:1}.vlp-i-p-t,.vlp-i-p-l,.vlp-i-p-r,.vlp-i-p-h{stroke:#8a8b85;stroke-width:.9px;stroke-linejoin:round;transition:fill .4s,stroke .4s}.vlp-i-p-t,.vlp-i-p-h{fill:#fff}.vlp-i-p-l{fill:#ededea}.vlp-i-p-r{fill:#e2e2dd}.vlp-i-person{transition:opacity .5s}.vlp-i-person.is-away{opacity:.3}.vlp-i-person.is-on .vlp-i-p-t,.vlp-i-person.is-on .vlp-i-p-h{fill:var(--fl-canal);stroke:#163330}.vlp-i-person.is-on .vlp-i-p-l{fill:#2f5653;stroke:#163330}.vlp-i-person.is-on .vlp-i-p-r{fill:#264744;stroke:#163330}.vlp-i-track{fill:none;stroke:var(--fl-canal);stroke-width:1px;stroke-dasharray:3 3}.vlp-i-move{transition:transform 1.1s cubic-bezier(.65,0,.25,1)}.vlp-i-move.is-moved{transform:translate(var(--dx),var(--dy))}@media (max-width:1023px){.vlp .pp-hero-art{justify-content:center;padding:0}.vlp-head,.vlp-fx,.vlp-cr{row-gap:var(--fl-space-3);grid-template-columns:minmax(0,1fr)}.vlp-fx-iso>.vlp-i-svg{max-width:560px;margin:0 auto}.vlp-qb-list button{min-height:60px}.vlp-qb-f{min-height:38px}.vlp-connect,.vlp-ho-ex{padding-top:11px;padding-bottom:11px}.vlp-bp-h .vlp-ho-ex{padding-top:10px;padding-bottom:10px}.vlp-head{align-items:start}}@media (max-width:767px){.vlp .pp-hero-art{height:auto;padding:0 var(--fl-gutter)}.vlp .pp-hero-art>.vlh{width:100%;margin-left:0}.vlh-dl span{letter-spacing:0;font-size:8px}.vlh-beat{font-size:15px}.vlp-tbl th:nth-child(2),.vlp-tbl td:nth-child(2){display:none}.vlp-parts button{grid-template-columns:minmax(0,1fr);gap:4px}.vlp-ho-to span{white-space:normal;text-align:right}.vlp-qb-list button{min-height:76px}.vlp-qb-seg button{flex:auto;padding:9px 4px;font-size:12px}.vlp-qb-seg button:first-child{min-width:44px}.vlp-qb-t b{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vlp-ho-log{min-height:34px}.vlp-sug-t{flex-wrap:wrap}.vlp-sug-t span{width:100%;margin-left:21px}}@media (prefers-reduced-motion:reduce){.vlp-bp-rule *,.vlp-bp-out rect,.vlp-bp-lab *,.vlp-qb-dot,.vlp-msg,.vlp-rd,.vlp-cr-chart i,.vlp-i-move,.vlp-i-person{transition:none}.vlp-i-link{animation:none!important}.vlp-rd{animation:none}.vlh-dot,.vlh-dot:before,.vlh-mx,.vlh-dl span{transition:none}.vlp-msg,.vlp-run,.vlp-run i{animation:none}}
