@layer lab-base{@font-face{font-family:vega-sym;src:local(Menlo-Regular),local(STIXTwoMath-Regular),local(Apple Symbols),local(CambriaMath),local(SegoeUISymbol);unicode-range:U+AC,U+B1,U+D7,U+F7,U+2070-209F,U+2100-214F,U+2190-21FF,U+22??,U+2264-2265,U+25A0-25FF,U+27F?,U+2A??}:root{--body:"vega-sym", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:"vega-sym", "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--display:"vega-sym", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}.formula{font-family:var(--mono);color:var(--ink);text-align:center;word-break:break-word;padding:8px 4px;font-size:clamp(15px,3.4vw,21px);font-weight:600;line-height:1.7}.formula .op{color:var(--muted)}.formula .hl{color:var(--accent-deep)}.formula .res{color:var(--accent);font-size:1.12em}.formula .sub2{color:var(--warn)}.ogrid{grid-template-columns:repeat(var(--cols,6), 1fr);gap:5px;width:100%;max-width:460px;margin:0 auto;display:grid}.ocell{aspect-ratio:1;font-family:var(--mono);color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:default;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:clamp(10px,2.4vw,14px);font-weight:600;transition:background .14s,border-color .14s,color .14s,opacity .14s,transform .12s;display:flex}.ogrid.click .ocell{cursor:pointer}.ocell.a{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-deep)}.ocell.b{background:var(--warn-soft);color:#9a4a12;border-color:#ffd8b5}.ocell.ab{color:#5b3ba8;background:#efe6ff;border-color:#d9c7f5}.ocell.fav{background:var(--accent);border-color:var(--accent-press);color:#fff}.ocell.good{background:var(--good-soft);border-color:var(--good);color:#0c7a48}.ocell.dim{opacity:.28}.ocell.pick{transform:translateY(-2px)}.pdist{justify-content:center;align-items:flex-end;gap:4px;height:200px;padding:6px 12px 0;display:flex;position:relative}.pcol{cursor:pointer;flex:1 1 0;justify-content:center;align-items:flex-end;gap:2px;min-width:5px;max-width:48px;height:100%;display:flex}.pbar{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:none;flex:1 1 0;min-height:2px;transition:background .14s,border-color .14s,height .2s}.pbar.alt{background:var(--warn-soft);border-color:#ffd8b5}.pcol:hover .pbar{border-color:var(--accent)}.pcol.sel .pbar{background:var(--accent);border-color:var(--accent-press)}.pcol.sel .pbar.alt{background:var(--warn);border-color:#d9660f}.pcol.mode .pbar{background:var(--good-soft);border-color:var(--good)}.pcol.sel.mode .pbar{background:var(--accent);border-color:var(--accent-press)}.pxaxis{border-top:1px solid var(--line-strong);justify-content:center;gap:4px;padding:5px 12px 0;display:flex}.pxlbl{text-align:center;min-width:5px;max-width:48px;font-family:var(--mono);color:var(--muted);flex:1 1 0;font-size:11px;font-weight:600}.pxlbl.sel{color:var(--accent-deep)}.emean{border-left:2px dashed var(--accent-press);pointer-events:none;width:0;position:absolute;top:6px;bottom:0}.emean .tag-e{font-family:var(--mono);color:var(--accent-press);white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:-2px;left:4px}.fulcrum{text-align:center;height:16px;margin-top:-2px;position:relative}.fulcrum .tri{border-left:8px solid #0000;border-right:8px solid #0000;border-bottom:12px solid var(--accent-press);width:0;height:0;position:absolute;transform:translate(-50%)}.vega-legend .sw.c1{background:var(--accent);border-color:var(--accent-press)}.vega-legend .sw.c2{background:var(--warn);border-color:#d9660f}.treewrap{width:100%;overflow-x:auto}svg.ptree{max-width:100%;height:auto;margin:0 auto;display:block}svg.ptree .edge{fill:none;stroke:var(--line-strong);stroke-width:2px}svg.ptree .edge.lit{stroke:var(--accent);stroke-width:3.5px}svg.ptree .edge.alt{stroke:var(--warn)}svg.ptree .nd{fill:#fff;stroke:var(--line-strong);stroke-width:2px}svg.ptree .nd.root{fill:var(--accent);stroke:var(--accent-press)}svg.ptree .nd.lit{fill:var(--accent-soft);stroke:var(--accent-line)}svg.ptree .nd.hit{fill:var(--good-soft);stroke:var(--good)}svg.ptree .ndt{font-family:var(--mono);fill:var(--ink);text-anchor:middle;dominant-baseline:central;font-size:13px;font-weight:600}svg.ptree .ndt.rt{fill:#fff}svg.ptree .elbl{font-family:var(--mono);fill:var(--accent-deep);text-anchor:middle;font-size:11.5px;font-weight:600}svg.ptree .elbl.mut{fill:var(--muted)}svg.ptree .leaf{font-family:var(--mono);fill:var(--ink-soft);text-anchor:start;font-size:12px;font-weight:600}svg.lchart{width:100%;height:auto;display:block}svg.lchart .axis{stroke:var(--line-strong);stroke-width:2px}svg.lchart .grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}svg.lchart .target{stroke:var(--good);stroke-width:2px;stroke-dasharray:6 5}svg.lchart .fline{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round}svg.lchart .flbl{font-family:var(--mono);font-size:11px;font-weight:600}svg.lchart .flbl.t{fill:var(--good)}svg.lchart .flbl.a{fill:var(--accent-deep)}svg.lchart .axlbl{font-family:var(--mono);fill:var(--muted);font-size:10.5px}svg.ncurve{width:100%;height:auto;display:block}svg.ncurve .axis{stroke:var(--line-strong);stroke-width:2px}svg.ncurve .grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}svg.ncurve .dens{fill:none;stroke:var(--accent);stroke-width:2.5px}svg.ncurve .area{fill:var(--accent-soft);stroke:none}svg.ncurve .area2{fill:var(--accent-pale);stroke:none}svg.ncurve .mu{stroke:var(--accent-press);stroke-width:2px;stroke-dasharray:5 4}svg.ncurve .sig{stroke:var(--warn);stroke-width:1.5px;stroke-dasharray:4 4}svg.ncurve .tk{font-family:var(--mono);fill:var(--muted);text-anchor:middle;font-size:10.5px}svg.ncurve .tk.mu{fill:var(--accent-press);font-weight:600}.histo{justify-content:center;align-items:flex-end;gap:2px;height:210px;padding:6px 12px 0;display:flex;position:relative}.hbar{background:var(--accent-soft);border:1px solid var(--accent-line);border-bottom:none;flex:1 1 0;min-height:1px;transition:height .2s,background .14s}.hbar:hover{background:var(--accent-pale)}.histo svg.overlay{pointer-events:none;width:calc(100% - 24px);height:calc(100% - 6px);position:absolute;inset:6px 12px 0}.histo svg.overlay .dens{fill:none;stroke:var(--bad);stroke-width:2.5px}.hxaxis{border-top:1px solid var(--line-strong);justify-content:center;gap:2px;padding:5px 12px 0;display:flex}.hxlbl{text-align:center;font-family:var(--mono);color:var(--muted);flex:1 1 0;font-size:10px;font-weight:600}.deriv{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);margin:6px 0 2px;overflow-x:auto}.drow{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:2px 14px;padding:9px 14px;display:flex}.drow:first-child{border-top:none}.drow .rel{text-align:right;font-family:var(--mono);color:var(--muted);flex:0 0 1.3em;font-weight:600}.drow .expr{font-family:var(--mono);white-space:nowrap;color:var(--ink);font-size:clamp(13px,3vw,17px);font-weight:600}.drow .expr sup{font-size:.72em}.drow .ann{font-family:var(--body);color:var(--muted);align-self:center;margin-left:auto;font-size:12.5px;font-weight:600}.drow .ann:before{content:"← "}.drow.hlrow{background:var(--accent-soft)}.drow.hlrow .expr,.drow.hlrow .ann{color:var(--accent-deep)}table.vega-cmp tbody tr.selrow td{background:var(--accent-soft);color:var(--accent-deep)}table.vega-cmp td.selcol{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.opline{font-family:var(--mono);color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 18px;padding:4px 0;font-size:13px;display:flex}.opline .eq{color:var(--muted)}.opline b{color:var(--accent-deep)}.opline .yes{color:var(--good);font-weight:600}.opline .no{color:var(--bad);font-weight:600}svg.numline{width:100%;height:auto;display:block}svg.numline .axis{stroke:var(--line-strong);stroke-width:2px}svg.numline .tick{stroke:var(--line-strong);stroke-width:1.5px}svg.numline .tk{font-family:var(--mono);fill:var(--muted);text-anchor:middle;font-size:10.5px}svg.numline .dot{fill:var(--accent-soft);stroke:var(--accent-line);stroke-width:2px}svg.numline .dot.out{fill:var(--bad-soft);stroke:var(--bad)}svg.numline .vline{stroke-width:2px;stroke-dasharray:5 4}svg.numline .vline.mean{stroke:var(--accent-press)}svg.numline .vline.median{stroke:var(--warn)}svg.numline .vline.pct{stroke:var(--good)}svg.numline .vlbl{font-family:var(--mono);font-size:11px;font-weight:600}svg.numline .vlbl.mean{fill:var(--accent-press)}svg.numline .vlbl.median{fill:var(--warn)}svg.numline .vlbl.pct{fill:var(--good)}svg.numline .whisk,svg.numline .cap{stroke:var(--accent-press);stroke-width:2px}svg.numline .box{fill:var(--accent-soft);stroke:var(--accent-press);stroke-width:2px}svg.numline .med{stroke:var(--warn);stroke-width:3px}svg.numline .qlbl{font-family:var(--mono);fill:var(--ink-soft);text-anchor:middle;font-size:10px;font-weight:600}svg.numline .qlbl.q{fill:var(--accent-deep)}svg.numline .qlbl.m{fill:var(--warn)}}
