.vg{--vg-mono:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, Menlo, monospace;--vg-dx:8px;--shell-mut:var(--mut);--shell-bg2:var(--line-soft);--vg-hatch:repeating-linear-gradient(135deg, var(--data) 0 2px, transparent 2px 7px);--vg-tint-loss:color-mix(in srgb, var(--loss) 12%, transparent);color:var(--fg);flex-direction:column;font-size:12px;line-height:1.4;display:flex}.pnl.vg{gap:8px;padding:14px}.vg b{color:var(--fg);font-weight:500}.vg-lab,.vg-legend,.vg-pop-lab,.vg-dhead{font:500 12px/1.3 var(--pnl-text);letter-spacing:0;text-transform:none;color:var(--mut)}.vg-fig{font:600 26px/1.1 var(--font-instrument-sans), "Instrument Sans", system-ui, sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--fg)}.vg-fig--sm{font:600 13px/1.2 var(--pnl-display);letter-spacing:0;color:var(--fg)}.vg-note{font:400 12px/1.45 var(--pnl-text);color:var(--mut);letter-spacing:0}.vg-note b{color:var(--fg)}.vg-note--ok:before{content:"✓ ";color:var(--gain)}.vg-note--edge{border:1px dashed var(--line);border-radius:var(--r-2);text-align:center;letter-spacing:0;text-transform:none;padding:7px 10px}.vg-rows{flex-direction:column;gap:6px;display:flex}.vg-track{border-radius:var(--r-1);background:var(--line-soft);flex:auto;min-width:48px;height:8px;position:relative;overflow:hidden}.vg-track--tall{height:14px}.vg-solid{width:calc(var(--w,1) * 100%);background:var(--data);border-radius:var(--r-1);transform-origin:0;position:absolute;inset:0 auto 0 0}.vg-hatch{background:var(--vg-hatch);width:100%;box-shadow:inset 0 0 0 1.5px var(--data);border-radius:var(--r-1);position:absolute;inset:0 auto 0 0}.vg-hatch--after{left:calc(var(--left,0) * 100%);width:calc(var(--w,1) * 100%)}.vg-track>.vg-hatch+.vg-solid{z-index:1}.vg-legend{text-transform:none;letter-spacing:0;flex-wrap:wrap;gap:4px 16px;display:flex}.vg-legend span{align-items:center;gap:6px;display:inline-flex}.vg-key{border-radius:var(--r-1);width:14px;height:8px;display:inline-block}.vg-key--hatch{background:var(--vg-hatch);box-shadow:inset 0 0 0 1px var(--data)}.vg-key--solid{background:var(--data)}.vg-formula>.pnl-hd{flex:100%}.vg-formula{flex-flow:wrap;align-items:center;gap:14px 22px}.vg-kpi{flex-direction:column;flex:200px;gap:6px;min-width:0;display:flex}.vg-kpi-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.vg-f{border:1px solid var(--line);width:22px;height:22px;font:italic 500 12px/1 var(--vg-mono);color:var(--data);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.vg-f:after{content:"";border:1px solid var(--data);background:var(--data-soft);z-index:-1;border-radius:50%;position:absolute;inset:-1px}.vg-pop{background:var(--fg);min-width:0;color:var(--bg);box-shadow:var(--elev-2);border-radius:10px;flex-direction:column;flex:250px;gap:6px;padding:11px 13px;display:flex}.vg-pop .vg-pop-lab{color:color-mix(in srgb, var(--bg) 65%, transparent)}.vg-pop-formula{font:500 13px/1.45 var(--vg-mono);color:var(--bg)}.vg-pop-src{border-top:1px solid color-mix(in srgb, var(--bg) 25%, transparent);font:400 11px/1.4 var(--vg-mono);color:color-mix(in srgb, var(--bg) 70%, transparent);flex-wrap:wrap;gap:2px 14px;padding-top:7px;display:flex}.vg-pop-src b{color:var(--bg)}.vg-lrow{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vg-qrow{border:1px solid var(--line-soft);border-radius:var(--r-2);font:400 12px/1.3 var(--pnl-text);align-items:center;gap:9px;min-width:0;padding:7px 10px;display:flex}.vg-qrow--top{border-color:var(--line);background:color-mix(in srgb, var(--fg) 3.5%, transparent)}.vg-qrow>b{letter-spacing:0;flex:none}.vg-qact{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.vg-qev{color:var(--mut);white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;overflow:hidden}.vg-qst{color:var(--mut);flex:none;align-items:center;gap:5px;margin-left:auto;display:inline-flex}.vg-qst--live{color:var(--fg)}.vg-qst--live:before{content:"";background:var(--signal);border-radius:50%;width:6px;height:6px}@media (max-width:860px){.vg-qev{display:none}.vg-qact{flex:1 1 0}}.vg-erow{border:1px dashed var(--line);border-radius:var(--r-2);justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:4px 9px;display:flex}.vg-echip{min-width:0;font:400 12px/1.3 var(--vg-mono);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;display:inline-flex;overflow:hidden}.vg-etag{border-radius:var(--r-1);background:var(--pnl-tint-gain);color:var(--gain);font:600 11px/1.3 var(--pnl-display);letter-spacing:0;flex:none;padding:2px 6px}.vg-discount{--vg-row:36px;--vg-gap:6px}.vg-dhead,.vg-drow{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.4fr);align-items:center;gap:6px;display:grid}.vg-dhead{padding:0 10px}.vg-dsort{color:var(--fg)}.vg-dbody{gap:var(--vg-gap);flex-direction:column;display:flex}.vg-drow{height:var(--vg-row);border:1px solid var(--line-soft);border-radius:var(--r-2);font:400 12px/1.2 var(--pnl-text);color:var(--mut);padding:0 10px;position:relative}.vg-drow>b{color:var(--fg)}.vg-drow:after{content:"";border-radius:var(--r-2);pointer-events:none;border:1px solid #0000;position:absolute;inset:-1px}.vg-drow--leak:after{border-color:var(--loss);background:var(--vg-tint-loss)}.vg-drow--leak>b{color:var(--loss)}.vg-dbar{align-items:center;gap:8px;min-width:0;display:flex}.vg-dbar>i{border-radius:var(--r-1);background:var(--line-soft);flex:auto;height:6px;position:relative;overflow:hidden}.vg-dfill{width:calc(var(--w,0) * 100%);background:var(--data);transform-origin:0;display:block;position:absolute;inset:0 auto 0 0}.vg-drow--leak .vg-dfill{background:var(--loss)}.vg-dbar>em{color:var(--fg);text-align:right;min-width:34px;font-style:normal}.vg-srow{font:400 12px/1.3 var(--pnl-text);color:var(--mut);grid-template-columns:82px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.vg-sname{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vg-sdays{text-align:right;color:var(--fg);font-variant-numeric:tabular-nums}.vg-srow--low .vg-solid{background:var(--loss)}.vg-srow--low .vg-sdays,.vg-srow--low .vg-sname{color:var(--loss)}.vg-mrow{border:1px solid var(--line-soft);border-radius:var(--r-2);font:400 12px/1.3 var(--vg-mono);align-items:center;gap:9px;min-width:0;padding:7px 10px;display:flex}.vg-mval{min-width:0;color:var(--mut);display:grid}.vg-raw,.vg-masked{white-space:nowrap;grid-area:1/1}.vg-raw{opacity:0}.vg-mtag{border-radius:var(--r-1);background:var(--pnl-tint-gain);color:var(--gain);font:600 11px/1.3 var(--pnl-display);letter-spacing:0;flex:none;margin-left:auto;padding:2px 6px}.vg-frow{flex-direction:column;gap:4px;display:flex}.vg-frow-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.vg-fname{min-width:0;color:var(--fg)}.vg-fleft{font:400 11px/1.4 var(--pnl-text);color:var(--mut)}.vg-total .vg-fig--sm{text-transform:none}.vg-total{border-top:1px solid var(--line-soft);font:500 12px/1.3 var(--pnl-text);letter-spacing:0;color:var(--mut);justify-content:space-between;align-items:baseline;padding-top:7px;display:flex}.vg-rail{background:var(--line-soft);border-radius:1px;height:2px;overflow:hidden}.vg-rail>i{background:var(--data);transform-origin:0;height:100%;display:block}.vg-prow{border:1px solid var(--line-soft);border-radius:var(--r-2);font:400 12px/1.3 var(--pnl-text);color:var(--fg);align-items:center;gap:9px;min-width:0;padding:7px 10px;display:flex}.vg-prow>b{letter-spacing:0}.vg-pact{min-width:0}.vg-pst{color:var(--mut);flex:none;margin-left:auto}.vg-prow--add{color:var(--mut);letter-spacing:0;border-style:dashed;justify-content:center}.vg-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.vg-tile{border:1px solid var(--line-soft);border-radius:var(--r-2);flex-direction:column;gap:4px;min-width:0;padding:8px 10px;display:flex}.vg-tile .vg-fig--sm{color:var(--fg);font-size:15px}.vg-lock{border:1px solid var(--line);border-radius:var(--r-2);font:600 12px/1 var(--pnl-text);letter-spacing:0;color:var(--fg);align-self:flex-start;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.vg[data-vg=play] :is(.vg-qrow,.vg-mrow,.vg-prow,.vg-tile,.vg-frow,.vg-total,.vg-lock,.vg-kpi,.vg-lrow,.vg-legend,.vg-dhead){animation:vg-rise var(--dur-slow) var(--ease-ui) both;animation-delay:calc(var(--t,0s) + var(--i,0) * var(--stagger))}.vg[data-vg=armed] :is(.vg-qrow,.vg-mrow,.vg-prow,.vg-tile,.vg-frow,.vg-total,.vg-lock,.vg-kpi,.vg-lrow,.vg-legend,.vg-dhead){opacity:0;transform:translateY(var(--vg-dx))}@keyframes vg-rise{0%{opacity:0;transform:translateY(var(--vg-dx))}}.vg[data-vg=armed] .vg-note{opacity:0}.vg[data-vg=play] .vg-note{animation:vg-fade var(--dur-base) var(--ease-strong-out) both;animation-delay:.6s}@keyframes vg-fade{0%{opacity:0}}.vg[data-vg=armed] :is(.vg-solid,.vg-dfill,.vg-rail>i){transform:scaleX(0)}.vg[data-vg=play] :is(.vg-solid,.vg-dfill,.vg-rail>i){animation:vg-grow var(--dur-reveal) var(--ease-reveal) both;animation-delay:calc(var(--t,0s) + var(--i,0) * var(--stagger))}@keyframes vg-grow{0%{transform:scaleX(0)}}.vg[data-vg=armed] .vg-hatch{width:0}.vg[data-vg=play] .vg-hatch{animation:vg-draw var(--dur-reveal) var(--ease-reveal) both;animation-delay:calc(var(--t,0s) + var(--i,0) * var(--stagger))}.vg[data-vg=play] .vg-hatch--after{animation-duration:var(--dur-slow)}@keyframes vg-draw{0%{width:0}}.vg[data-vg=armed] .vg-f:after{opacity:0}.vg[data-vg=play] .vg-f:after{animation:vg-fade var(--dur-ui) var(--ease-io-cubic) .55s both}.vg[data-vg=armed] .vg-pop{opacity:0;transform:translateY(-4px)}.vg[data-vg=play] .vg-pop{animation:vg-pop var(--dur-ui) var(--ease-io-cubic) .65s both}@keyframes vg-pop{0%{opacity:0;transform:translateY(-4px)}}.vg[data-vg=armed] .vg-echip{opacity:0;transform:translate(24px)}.vg[data-vg=play] .vg-echip{animation:vg-dock var(--dur-slow) var(--ease-ui) both;animation-delay:calc(var(--t,0s) + var(--i,0) * var(--stagger))}@keyframes vg-dock{0%{opacity:0;transform:translate(24px)}}.vg[data-vg=armed] .vg-etag{opacity:0}.vg[data-vg=play] .vg-etag{animation:vg-fade var(--dur-base) var(--ease-strong-out) both;animation-delay:calc(var(--t,0s) + var(--i,0) * var(--stagger) + .25s)}.vg-discount{--vg-step:calc(var(--vg-row) + var(--vg-gap))}.vg-discount .vg-drow{--vg-from:calc((1 - 2 * var(--slot,0)) * var(--vg-step))}.vg[data-vg=armed] .vg-drow{opacity:0;transform:translateY(var(--vg-from))}.vg[data-vg=play] .vg-drow{animation:vg-fade var(--dur-base) var(--ease-strong-out) both, vg-swap var(--dur-slow) var(--ease-io-cubic) .4s both}@keyframes vg-swap{0%{transform:translateY(var(--vg-from))}}.vg[data-vg=armed] .vg-drow--leak:after{opacity:0}.vg[data-vg=play] .vg-drow--leak:after{animation:vg-fade var(--dur-base) var(--ease-strong-out) .8s both}.vg[data-vg=armed] .vg-drow--leak>b{color:var(--fg)}.vg[data-vg=play] .vg-drow--leak>b{animation:1ms step-end .8s both vg-turn}@keyframes vg-turn{0%{color:var(--fg)}}.vg[data-vg=play] .vg-drow .vg-dfill{animation-delay:.8s}.vg[data-vg=armed] .vg-drow--leak .vg-dfill{background:var(--data)}.vg[data-vg=play] .vg-drow--leak .vg-dfill{animation:vg-grow var(--dur-reveal) var(--ease-reveal) .8s both, vg-turn-bg 1ms step-end .8s both}@keyframes vg-turn-bg{0%{background:var(--data)}}.vg[data-vg=play] .vg-dsort{animation:1ms step-end .4s both vg-turn}.vg[data-vg=armed] .vg-dsort{color:var(--mut)}.vg[data-vg=armed] .vg-srow{opacity:0}.vg[data-vg=play] .vg-srow{animation:vg-fade var(--dur-base) var(--ease-strong-out) both;animation-delay:calc(var(--i,0) * var(--stagger))}.vg[data-vg=armed] .vg-srow--low .vg-solid{background:var(--data)}.vg[data-vg=play] .vg-srow--low .vg-solid{animation:vg-grow var(--dur-reveal) var(--ease-reveal) both, vg-turn-bg 1ms step-end .6s both}.vg[data-vg=armed] .vg-srow--low :is(.vg-sdays,.vg-sname){color:var(--fg)}.vg[data-vg=play] .vg-srow--low :is(.vg-sdays,.vg-sname){animation:1ms step-end .6s both vg-turn}.vg[data-vg=armed] .vg-raw{opacity:1}.vg[data-vg=armed] .vg-masked{opacity:0}.vg[data-vg=play] .vg-raw{animation:vg-out var(--dur-base) var(--ease-strong-out) both;animation-delay:calc(.35s + var(--i,0) * var(--stagger))}@keyframes vg-out{0%{opacity:1}to{opacity:0}}.vg[data-vg=play] .vg-masked{animation:vg-fade var(--dur-base) var(--ease-strong-out) both;animation-delay:calc(.35s + var(--i,0) * var(--stagger))}.vg[data-vg=armed] .vg-mtag{opacity:0}.vg[data-vg=play] .vg-mtag{animation:vg-fade var(--dur-base) var(--ease-strong-out) both;animation-delay:calc(.55s + var(--i,0) * var(--stagger))}@media (max-width:860px){.vg-qact{white-space:normal;overflow:visible}}@media (max-width:480px){.vg-mrow{grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;display:grid}.vg-mrow>b{grid-column:1}.vg-mrow .vg-mtag{grid-area:1/2}.vg-mrow .vg-mval{grid-column:1/-1}.vg-echip{gap:5px;font-size:11px}.vg-erow{gap:4px;padding:4px 6px}.vg-etag{letter-spacing:.02em}}
