@font-face{font-family:Montserrat;font-style:normal;font-weight:400 900;font-display:swap;src:url(./montserrat-latin-Dk9Pm7OY.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(./inter-latin-8kRkwJBP.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas:#f5f4f6;--canvas-deep:#efeef2;--surface:#fff;--ink:#1a1a1a;--ink-2:#383838;--caption:#66666e;--line:#e6e6e6;--blue:#6488ff;--blue-action:#4b6bf3;--blue-ink:#3f5ad9;--accent-soft:#edf1ff;--hover-tint:#f3f5ff;--success:#1b7a4f;--danger:#c2362a;--grey-leg:#9a9aa2;--font-body:"Montserrat", ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-ui:"Inter", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--r-tile:16px;--r-card:24px;--r-pill:999px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--canvas);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:20px}html[data-bare] body{background:0 0}html[data-view=model] body{background:0 0;overflow:hidden}button,input{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.lab{max-width:1280px;margin:0 auto;padding:32px 24px 40px}html[data-bare] .lab{max-width:none;padding:0}.lab-head{max-width:760px;margin:0 0 24px}.eyebrow{font:600 12px/18px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-ink);margin:0 0 8px}.lab-head h1{font:700 32px/40px var(--font-body);letter-spacing:-.01em;margin:0 0 12px}.lab-head p{color:var(--ink-2);margin:0;font-size:16px;line-height:26px}html[data-bare] .lab-head{display:none}.layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.col{gap:16px;min-width:0;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);min-width:0;padding:20px}.card h2{font:600 12px/18px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--caption);margin:0 0 14px}.card h2 .aside{float:right;text-transform:none;letter-spacing:0;color:var(--caption);font-weight:500}.card+.card{margin-top:0}.card p.note{color:var(--caption);margin:12px 0 0;font-size:13px;line-height:20px}.viewport{border-radius:var(--r-card);background:var(--canvas);border:1px solid var(--line);aspect-ratio:4/3;isolation:isolate;min-height:320px;position:relative;overflow:hidden}html[data-bare] .viewport{border-color:#0000}.viewport canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.viewport .badge{pointer-events:none;z-index:2;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:16px;left:16px}.chip{border-radius:var(--r-pill);-webkit-backdrop-filter:blur(8px);color:var(--ink-2);background:#ffffffdb;border:1px solid #1a1a1a0f;align-items:center;gap:8px;padding:6px 12px;font-size:13px;line-height:18px;display:inline-flex}.chip .dot{background:var(--blue);border-radius:50%;flex:none;width:9px;height:9px}.chip .dot.grey{background:var(--grey-leg)}.chip .dot.ghost{border:1.5px solid var(--grey-leg);background:0 0}.viewport .hint{color:var(--caption);pointer-events:none;z-index:2;font-size:12px;position:absolute;bottom:14px;right:16px}.viewport .overlay{z-index:3;pointer-events:none;place-items:center;transition:opacity .25s;display:grid;position:absolute;inset:0}.viewport .overlay[hidden]{opacity:0;display:grid}.spinner{border-radius:var(--r-pill);border:1px solid var(--line);color:var(--ink-2);background:#ffffffeb;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:inline-flex;box-shadow:0 8px 24px #1a1a1a0f}.spinner:before{content:"";border:2px solid var(--accent-soft);border-top-color:var(--blue-action);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{border-top:1px solid var(--line);gap:6px;padding:10px 0;display:grid}.field:first-of-type{border-top:0;padding-top:0}.field-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-head label{color:var(--ink);font-weight:500}.field-head output{color:var(--ink);white-space:nowrap;font-weight:600}.field-head output small{color:var(--caption);margin-left:2px;font-size:12px;font-weight:500}.field .sub{color:var(--caption);font-size:12px;line-height:16px}.range{height:28px;position:relative}.range input[type=range]{appearance:none;pointer-events:none;touch-action:none;background:0 0;width:100%;height:28px;margin:0;position:absolute;inset:0}.range input[type=range]::-webkit-slider-runnable-track{background:0 0;height:28px}.range input[type=range]::-moz-range-track{background:0 0;height:28px}.range input[type=range]::-webkit-slider-thumb{appearance:none;pointer-events:auto;cursor:grab;background:var(--surface);border:2px solid var(--blue-action);border-radius:50%;width:20px;height:20px;margin-top:4px;transition:transform .12s;box-shadow:0 1px 3px #1a1a1a2e}.range input[type=range]::-moz-range-thumb{pointer-events:auto;cursor:grab;background:var(--surface);border:2px solid var(--blue-action);border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #1a1a1a2e}.range input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.12)}.range input[type=range]:focus-visible{outline:none}.range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #4b6bf338}.range .track{background:var(--line);pointer-events:none;border-radius:2px;height:2px;position:absolute;top:13px;left:10px;right:10px}.range .fill{background:var(--blue-action);border-radius:2px;height:2px;position:absolute;top:0}.range .tick{background:var(--grey-leg);border-radius:1px;width:2px;height:10px;margin-left:-1px;position:absolute;top:-4px}.range .tick.data{background:var(--ink);height:12px;top:-5px}.btn{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--hover-tint);border-color:#d8def9}.btn:focus-visible{outline:2px solid var(--blue-action);outline-offset:2px}.btn[aria-pressed=true]{background:var(--accent-soft);color:var(--blue-ink);border-color:#cdd7fd}.row-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.segmented{background:var(--canvas);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;height:28px;color:var(--caption);background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1a1a1a14}.kv{grid-template-columns:1fr auto;gap:8px 12px;margin:0;display:grid}.kv dt{color:var(--ink-2)}.kv dd{text-align:right;margin:0;font-weight:600}.kv dd small{color:var(--caption);font-weight:500}table.cmp{border-collapse:collapse;width:100%}table.cmp th,table.cmp td{text-align:right;border-top:1px solid var(--line);vertical-align:baseline;padding:7px 0}table.cmp tr:first-child th,table.cmp tr:first-child td{border-top:0}table.cmp thead th{color:var(--caption);border-top:0;padding-top:0;font-size:12px;font-weight:500}table.cmp th[scope=row]{text-align:left;color:var(--ink-2);padding-right:8px;font-weight:500}table.cmp td{white-space:nowrap;padding-left:10px;font-weight:600}table.cmp td.ref,table.cmp td .pm{color:var(--caption);font-weight:500}table.cmp .target{color:var(--caption);font-size:11px;font-weight:500;line-height:14px;display:block}table.cmp .met{color:var(--success)}table.cmp .unit{color:var(--caption);font-size:12px;font-weight:500}.timings{gap:8px;margin:0;padding:0;list-style:none;display:grid}.timings li{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;display:grid}.timings .bar{background:var(--canvas);border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.timings .bar i{background:var(--blue);transform-origin:0;border-radius:2px;height:100%;display:block}.timings li.pending{color:var(--caption)}.timings li.active .bar i{background:var(--blue-action);animation:1s ease-in-out infinite pulse}.timings .total{border-top:1px solid var(--line);padding-top:8px;font-weight:600}.timings .meta{color:var(--caption);font-size:12px}@keyframes pulse{50%{opacity:.45}}.callout{border-radius:var(--r-tile);background:var(--canvas);gap:4px;padding:14px 16px;display:grid}.callout strong{font-weight:600}.callout span{color:var(--caption);font-size:13px}.warn{color:var(--danger)}.fea-line{border-radius:var(--r-tile);background:var(--accent-soft);color:var(--blue-ink);align-items:flex-start;gap:10px;margin:0;padding:14px 16px;font-size:13px;line-height:20px;display:flex}.fea-line svg{flex:none;margin-top:2px}.scatter{position:relative}.scatter svg{touch-action:manipulation;width:100%;height:auto;display:block;overflow:visible}.scatter .axis text{font:500 11px/1 var(--font-ui);fill:var(--caption)}.scatter .axis line{stroke:var(--line);stroke-width:1px}.scatter .ref line{stroke:var(--grey-leg);stroke-width:1px}.scatter .ref text{font:500 11px/1 var(--font-ui);fill:var(--caption)}.scatter .quad{fill:var(--accent-soft);opacity:.6}.scatter .pt{stroke:var(--surface);stroke-width:2px;cursor:pointer;transition:r .12s}.scatter .pt.ok{fill:var(--blue)}.scatter .pt.other{fill:#b9bcc6}.scatter .sel{fill:none;stroke:var(--ink);stroke-width:2px;pointer-events:none}.scatter .hov{fill:none;stroke:var(--blue-action);stroke-width:1.5px;pointer-events:none}.scatter .stock{fill:var(--ink);stroke:var(--surface);stroke-width:2px}.scatter .v8{fill:var(--surface);stroke:var(--blue-ink);stroke-width:2.5px}.scatter-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.scatter-head h2{margin:0}.legend{color:var(--caption);flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.legend i.ok{background:var(--blue)}.legend i.other{background:#b9bcc6}.legend i.stock{background:var(--ink);border-radius:1px;width:8px;height:8px;transform:rotate(45deg)}.legend i.v8{background:var(--surface);border:2px solid var(--blue-ink)}.tooltip{z-index:4;pointer-events:none;background:var(--ink);color:#fff;white-space:nowrap;opacity:0;border-radius:10px;padding:8px 10px;font-size:12px;line-height:17px;transition:opacity .1s;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.tooltip.on{opacity:1}.tooltip b{font-weight:600}.model-view{position:fixed;inset:0}.model-view canvas{touch-action:pan-y;cursor:grab;width:100%;height:100%;display:block}.model-view canvas:active{cursor:grabbing}.model-view .legend-bar{pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;padding:0 12px;display:flex;position:absolute;bottom:14px;left:0;right:0}@media (max-width:960px){.layout{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width:820px){.lab{padding:20px 16px 32px}.layout{grid-template-columns:minmax(0,1fr)}.lab-head h1{font-size:26px;line-height:34px}.lab-head p{font-size:15px;line-height:24px}.viewport{aspect-ratio:1/1.05;min-height:0}.card{border-radius:20px;padding:18px 16px}.viewport .hint{display:none}.order-first-mobile{order:-1}}@media (prefers-reduced-motion:reduce){.spinner:before,.timings li.active .bar i{animation:none}}[hidden]{display:none!important}.layout.inv,.layout.exp{grid-template-columns:minmax(0,1fr) 340px}.side{flex-direction:column;gap:16px;min-width:0;min-height:0;display:flex}.viewport .tools{z-index:2;gap:8px;display:flex;position:absolute;top:12px;right:12px}.viewport .tools .btn{-webkit-backdrop-filter:blur(8px);background:#ffffffdb;border-radius:999px;height:32px;padding:0 12px}.viewport .tools .btn[aria-pressed=true]{background:var(--accent-soft)}.viewport .badge{max-width:calc(100% - 150px)}.card h2 .aside .link{font-size:12px}.link{color:var(--blue-action);font:500 12px/18px var(--font-ui);cursor:pointer;letter-spacing:0;text-transform:none;background:0 0;border:0;padding:0}.link:hover{color:var(--blue-ink);text-decoration:underline}.link:focus-visible{outline:2px solid var(--blue-action);outline-offset:2px;border-radius:4px}.sliders{gap:0;display:grid}.foot{color:var(--caption);margin:0;font-size:12px;line-height:17px}.foot.fea{color:var(--blue-ink)}.card .note.foot{margin-top:8px}.u-short{display:none}.tabs{flex-direction:column;display:flex}.tabs-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tabs-head .aside{color:var(--caption);font-size:12px;font-weight:500}.panes{flex:auto;min-height:0;display:grid}.pane{visibility:hidden;flex-direction:column;grid-area:1/1;gap:10px;min-width:0;min-height:0;display:flex}.pane.on{visibility:visible}.pane .warn{margin:0;font-size:13px;line-height:19px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;display:grid}.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{gap:1px;min-width:0;display:grid}.tile .k{color:var(--caption);white-space:nowrap;font-size:11.5px;line-height:15px}.tile .v{white-space:nowrap;font-size:15px;font-weight:600;line-height:19px}.tile .v small{color:var(--caption);font-size:11px;font-weight:500}.tile .r{color:var(--caption);white-space:nowrap;font-size:11.5px;line-height:15px}.timings li{grid-template-columns:1fr auto}.timings .bar{grid-area:2/1/auto/-1;height:3px}.timings .name{min-width:0}.timings .total{padding-top:6px}.segmented.mini button{height:24px;padding:0 10px;font-size:12px}.plot-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.plot-foot .legend{gap:4px 12px;margin:0}.scatter{flex:auto;min-height:110px;position:relative}.scatter svg{width:100%;height:100%;position:absolute;inset:0}@media (max-width:820px){.layout.inv,.layout.exp{grid-template-columns:minmax(0,1fr)}}html[data-bare],html[data-bare] body,html[data-bare] #app{height:100%;overflow:hidden}html[data-bare] .lab{height:100%;padding:0;overflow:hidden}html[data-bare] .layout.inv,html[data-bare] .layout.exp{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(320px,33vw,360px);align-items:stretch;gap:12px;height:100%}html[data-bare] .viewport{aspect-ratio:auto;height:100%;min-height:0}html[data-bare] .side{gap:12px;height:100%}html[data-bare] .card{border-radius:20px;padding:14px 16px}html[data-bare] .card h2{margin-bottom:8px}html[data-bare] .controls{flex:none}html[data-bare] .tabs{flex:auto;min-height:0}html[data-bare] .field{border-top:0;gap:2px;padding:5px 0}html[data-bare] .field .sub{display:none}html[data-bare] .range,html[data-bare] .range input[type=range]{height:24px}html[data-bare] .range input[type=range]::-webkit-slider-runnable-track{height:24px}html[data-bare] .range input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:3px}html[data-bare] .range .track{top:11px;left:9px;right:9px}html[data-bare] .viewport .hint,html[data-bare] .foot.nearest{display:none}@media (min-width:600px) and (max-height:620px){html[data-bare] .card .note.foot{display:none}html[data-bare] .field{padding:2px 0}html[data-bare] .card h2{margin-bottom:4px}html[data-bare] .tabs-head{margin-bottom:8px}html[data-bare] .tiles{gap:6px 12px}}@media (max-width:599px){html[data-bare] .layout.inv,html[data-bare] .layout.exp{flex-direction:column;gap:8px;display:flex}html[data-bare] .viewport{border-radius:18px;flex:1 1 0;height:auto;min-height:0}html[data-bare] .side{display:contents}html[data-bare] .card{border-radius:18px;padding:10px 12px}html[data-bare] .tabs{flex:none}html[data-bare] .sliders{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}html[data-bare] .field{padding:2px 0}html[data-bare] .field-head{flex-wrap:wrap;gap:0 6px;font-size:12px;line-height:16px}html[data-bare] .field-head output small{font-size:11px}html[data-bare] .u-long{display:none}html[data-bare] .u-short{display:inline}html[data-bare] .card .note.foot,html[data-bare] .exp .controls h2{display:none}html[data-bare] .tabs-head{margin-bottom:8px}html[data-bare] .tiles{gap:6px 8px}html[data-bare] .exp .tile .r{display:none}html[data-bare] .timings{gap:2px}html[data-bare] .timings .bar{display:none}html[data-bare] .viewport .badge{top:10px;left:10px}html[data-bare] .viewport .tools{top:10px;right:10px}html[data-bare] .chip{padding:4px 10px;font-size:12px}}@media (max-width:379px){html[data-bare] .tabs-head .aside{display:none}html[data-bare] .segmented button{padding:0 10px}}.layout.net{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}.net .diagram,.net .slice{flex-direction:column;display:flex}.net .card-body{flex-direction:column;gap:8px;min-height:0;display:flex}.diagram-host{height:460px;position:relative}.net-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.net-svg .cell{fill:#e4e4e9;transition:fill .15s}.net-svg.instant .cell{transition:none}.net-conn line{stroke:#e9e8ee;stroke-width:.75px}.net-skip,.net-skip-head{fill:none;stroke:var(--blue-ink);stroke-width:1.25px;opacity:.75}.net-skip-label,.net-band,.net-width{font:500 11px var(--font-ui);fill:var(--caption)}.net-skip-label{fill:var(--blue-ink)}.net-col{font:600 11px var(--font-ui);fill:var(--ink-2)}.net-out{fill:var(--surface);stroke:var(--blue-ink);stroke-width:2px;transition:fill .15s}.net-out.inside{fill:var(--blue-action)}.net-value{font:600 13px var(--font-ui);fill:var(--ink);font-variant-numeric:tabular-nums}.net-where{font:500 11px var(--font-ui);fill:var(--caption)}.net-legend{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.net-legend .sw{border-radius:2px;height:10px;display:inline-block}.net-legend .sw.on{background:linear-gradient(90deg,#e4e4e9,#4b6bf3);width:24px}.net-legend .sw.off{background:#e4e4e9;width:10px;margin-left:8px}.net-legend .per{margin-left:auto}.net-stats{color:var(--ink-2)}.slice-host{background:var(--canvas);cursor:crosshair;touch-action:none;border-radius:16px;outline:none;height:420px;position:relative;overflow:hidden}.slice-host canvas{width:100%;height:100%;position:absolute;inset:0}.slice-host:focus-visible{box-shadow:0 0 0 2px var(--blue-action)}.slice-readout{color:var(--ink-2);margin:0;font-size:12px;line-height:16px}.slice .depth{border-top:0;padding:2px 0 0}.sliders.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.sliders.two .field:first-of-type{border-top:1px solid var(--line);padding-top:10px}.sliders.two .field:nth-child(-n+2){border-top:0;padding-top:0}@media (max-width:820px){.layout.net{grid-template-columns:minmax(0,1fr)}.diagram-host{height:360px}.slice-host{height:380px}}html[data-bare] .layout.net{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:stretch;gap:12px;height:100%}html[data-bare] .net .diagram{height:100%;min-height:0}html[data-bare] .net .diagram .card-body,html[data-bare] .net .slice .card-body{flex:auto}html[data-bare] .diagram-host{flex:auto;height:auto;min-height:0}html[data-bare] .net .slice{flex:auto;min-height:0}html[data-bare] .slice-host{flex:auto;height:auto;min-height:0}html[data-bare] .net .sliders.two .field{border-top:0;padding:3px 0}@media (max-width:599px){html[data-bare] .layout.net{flex-direction:column;gap:8px;display:flex}html[data-bare] .net .slice{order:0}html[data-bare] .net .diagram{flex:none;order:1;height:auto}html[data-bare] .net .controls{order:2}html[data-bare] .net .diagram h2{display:none}html[data-bare] .diagram-host{flex:none;height:104px}html[data-bare] .net-legend{display:none}html[data-bare] .net .card-body{gap:6px}html[data-bare] .net-stats{font-size:11px;line-height:15px}html[data-bare] .slice-host{border-radius:12px}html[data-bare] .slice-readout{font-size:11px;line-height:14px}html[data-bare] .net .slice h2{display:none}}@media (max-width:379px){html[data-bare] .net .slice h2 .aside{display:none}}
