zframes 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +524 -5
- package/package.json +6 -6
- package/runtime/assets/bar-chart-CMWrEpFm.js +1 -0
- package/runtime/assets/bitcoin-dominance-CDZbSLQ9.js +1 -0
- package/runtime/assets/breakeven-N9JfaLs2.js +1 -0
- package/runtime/assets/breathing-CSiaHH2d.js +1 -0
- package/runtime/assets/btc-block-size-bars-BwGQm2NA.js +1 -0
- package/runtime/assets/btc-blocks-CFz6DrIF.js +1 -0
- package/runtime/assets/btc-difficulty-bSLdWqGX.js +1 -0
- package/runtime/assets/btc-difficulty-chart-D6il3x9b.js +1 -0
- package/runtime/assets/btc-fees-CwRPq2S2.js +1 -0
- package/runtime/assets/btc-hashrate-_PbwOOj4.js +1 -0
- package/runtime/assets/btc-in-gold-JNXTU7sM.js +1 -0
- package/runtime/assets/btc-mempool-DivYz6mX.js +1 -0
- package/runtime/assets/btc-shared-BC2IjkCh.js +1 -0
- package/runtime/assets/bubbles-shared-BgKUWrak.js +1 -0
- package/runtime/assets/calculator-F474oCeb.js +1 -0
- package/runtime/assets/capital-structure-bars-BHtcggyu.js +1 -0
- package/runtime/assets/chain-activity-Db-zx6eG.js +1 -0
- package/runtime/assets/chain-activity-bars-CPhHE6lU.js +1 -0
- package/runtime/assets/chain-activity-scatter-CU7D3Nx9.js +1 -0
- package/runtime/assets/chain-price-movers-Vym50Lcy.js +1 -0
- package/runtime/assets/chart-utils-Ba8AFSZR.js +1 -0
- package/runtime/assets/checklist-BSCOZLJ-.js +1 -0
- package/runtime/assets/clock-C5hPRu82.js +1 -0
- package/runtime/assets/coin-momentum-heatmap-DbHsWjP2.js +1 -0
- package/runtime/assets/coin-momentum-scatter-5wS64urM.js +1 -0
- package/runtime/assets/coin-movers-BPifHhH2.js +1 -0
- package/runtime/assets/content-shared-CrVCFeOp.js +1 -0
- package/runtime/assets/countdown-9cgAKml3.js +1 -0
- package/runtime/assets/custom-data-A7UR4hIt.js +1 -0
- package/runtime/assets/cycle-shared-D8LQcBSw.js +1 -0
- package/runtime/assets/cycle-signals-CmEenZJE.js +1 -0
- package/runtime/assets/cycle-valuation-composite-olTWmWgj.js +1 -0
- package/runtime/assets/d3-BDRmnSFu.js +1 -0
- package/runtime/assets/daily-analysis-DmNxxfsL.js +1 -0
- package/runtime/assets/day-meter-DYYqZgFQ.js +1 -0
- package/runtime/assets/defi-revenue-BwnWnaOl.js +1 -0
- package/runtime/assets/dex-hot-pools-5sl00AOK.js +1 -0
- package/runtime/assets/dex-pool-bubbles-KyBmXb-u.js +1 -0
- package/runtime/assets/dex-pool-liquidity-scatter-Cczoa7F0.js +1 -0
- package/runtime/assets/dex-pool-treemap-DmoYWG3V.js +1 -0
- package/runtime/assets/dex-volume-bubbles-lLAheaQp.js +1 -0
- package/runtime/assets/dex-volume-chart-CGCkffrp.js +1 -0
- package/runtime/assets/dex-volume-share-area-figZ1USz.js +1 -0
- package/runtime/assets/dex-volume-treemap-CXXZ330C.js +1 -0
- package/runtime/assets/dice-BRHGwsSK.js +1 -0
- package/runtime/assets/dino-game-DkbgStXN.js +1 -0
- package/runtime/assets/divider-B_ScYYo5.js +1 -0
- package/runtime/assets/dominance-bars-CwFTP6Sh.js +1 -0
- package/runtime/assets/dominance-gauge-DL_JjphD.js +1 -0
- package/runtime/assets/drawdy-Bqx6Qs9j.js +1 -0
- package/runtime/assets/dxy-EDEcDqHS.js +1 -0
- package/runtime/assets/dxy-chart-DZ9Q_k9j.js +1 -0
- package/runtime/assets/editor-DNWRDAc5.css +1 -0
- package/runtime/assets/editor-DchM45os.js +2 -0
- package/runtime/assets/etf-flow-bars-BdLldRsx.js +1 -0
- package/runtime/assets/etf-flow-calendar-QeCVgCXm.js +1 -0
- package/runtime/assets/etf-flows-BokfCz94.js +1 -0
- package/runtime/assets/etf-flows-chart-B7vXhlo1.js +1 -0
- package/runtime/assets/etf-issuer-bars-ZWR-71DZ.js +1 -0
- package/runtime/assets/etf-issuer-treemap-zM5ZN913.js +1 -0
- package/runtime/assets/eth-issuance-impact-C0dbmsYs.js +1 -0
- package/runtime/assets/eth-staking-DhS4t_di.js +1 -0
- package/runtime/assets/eth-supply-BDXv32cs.js +1 -0
- package/runtime/assets/fear-greed-Db3YYSrb.js +1 -0
- package/runtime/assets/fear-greed-chart-BUaJVaqb.js +1 -0
- package/runtime/assets/feed-row-qDN72CXa.js +1 -0
- package/runtime/assets/filings-feed-CNEQhc4S.js +1 -0
- package/runtime/assets/filings-mix-BycrOiTn.js +1 -0
- package/runtime/assets/financial-stress-CtL4d_BQ.js +1 -0
- package/runtime/assets/flappy-bird-OADt73RX.js +1 -0
- package/runtime/assets/format-DWMrfgke.js +1 -0
- package/runtime/assets/fundamentals-DeZ9OQCp.js +1 -0
- package/runtime/assets/funding-bars-CZicqsRm.js +1 -0
- package/runtime/assets/funding-carry-area-B9WKPWmT.js +1 -0
- package/runtime/assets/funding-comparison-TSJiamEF.js +1 -0
- package/runtime/assets/funding-crowding-scatter-DfPN294N.js +1 -0
- package/runtime/assets/funding-heatmap-BiW7ZLwp.js +1 -0
- package/runtime/assets/funding-leaderboard-bars-C6PF11ps.js +1 -0
- package/runtime/assets/funding-rate-chart-MWU01Uib.js +1 -0
- package/runtime/assets/funding-spread-bars-Br7XsS11.js +1 -0
- package/runtime/assets/funding-venue-heatmap-sPFQ1fzo.js +1 -0
- package/runtime/assets/fx-board-CXrfSPfH.js +1 -0
- package/runtime/assets/fx-cross-heatmap-CHJIg4cN.js +1 -0
- package/runtime/assets/fx-movers-bars-DpD5YR28.js +1 -0
- package/runtime/assets/fx-trend-chart-DXS0-OTV.js +1 -0
- package/runtime/assets/game-ui-DRuW9syP.js +1 -0
- package/runtime/assets/gold-silver-ratio-C1AEhktf.js +1 -0
- package/runtime/assets/gridstack-BJOLV-iY.js +3 -0
- package/runtime/assets/gridstack-Chv4ms9g.css +1 -0
- package/runtime/assets/heading-DMvjA_mI.js +1 -0
- package/runtime/assets/heatmap-chart-CXN9d41C.js +1 -0
- package/runtime/assets/hero-number-BFIUUm5q.js +1 -0
- package/runtime/assets/holiday-calendar-s6CQYrht.js +1 -0
- package/runtime/assets/hooks-CLLchjg6.js +1 -0
- package/runtime/assets/image-Dx6lzZxo.js +1 -0
- package/runtime/assets/image-gallery-DlvoKVqh.js +1 -0
- package/runtime/assets/index-9oCCAb1t.js +1106 -0
- package/runtime/assets/index-tGx-fhSL.css +1 -0
- package/runtime/assets/indicators-YksbfYtF.js +1 -0
- package/runtime/assets/inflation-pulse-DFjPkATF.js +1 -0
- package/runtime/assets/journal-log-DllO3-3Q.js +1 -0
- package/runtime/assets/journal-open-49eapsYs.js +1 -0
- package/runtime/assets/journal-results-CYsmiD33.js +1 -0
- package/runtime/assets/journal-score-BvJ7YMEp.js +1 -0
- package/runtime/assets/journal-store-DcqepoPT.js +1 -0
- package/runtime/assets/journal-ui-CR7uxhyO.js +1 -0
- package/runtime/assets/labor-force-flow-BIAQjzra.js +1 -0
- package/runtime/assets/labor-market-D_4TsgBi.js +1 -0
- package/runtime/assets/lightning-stats-DqM9rjwr.js +1 -0
- package/runtime/assets/link-grid-DUGgdBCS.js +1 -0
- package/runtime/assets/liquidity-basis-bars-BBthK657.js +1 -0
- package/runtime/assets/live-tick-S-lWTthW.js +1 -0
- package/runtime/assets/liveline-BV-xqAVq.js +1 -0
- package/runtime/assets/ma-multiplier-0NdXDf5j.js +1 -0
- package/runtime/assets/macro-calendar-BtFBeUX9.js +1 -0
- package/runtime/assets/market-bubbles-B4CW9pwK.js +1 -0
- package/runtime/assets/market-cap-treemap-ydmUhoNY.js +1 -0
- package/runtime/assets/market-data-BeuX48f-.js +1 -0
- package/runtime/assets/market-hours-B_bTdanw.js +1 -0
- package/runtime/assets/market-scatter-FTzDpslF.js +1 -0
- package/runtime/assets/marquee-sW0gA0u_.js +28 -0
- package/runtime/assets/mayer-multiple-D6T_kVDR.js +1 -0
- package/runtime/assets/mempool-fee-curve-DUsgJQRe.js +1 -0
- package/runtime/assets/metal-annual-returns-CsZDcJs4.js +1 -0
- package/runtime/assets/metal-ath-ChqiN4O-.js +1 -0
- package/runtime/assets/metal-compare-chart-CiOT1Su2.js +1 -0
- package/runtime/assets/metal-cot-breakdown-B83N5bkN.js +1 -0
- package/runtime/assets/metal-cot-gauge-DK-PBRRk.js +1 -0
- package/runtime/assets/metal-cot-net-B5BW2stR.js +1 -0
- package/runtime/assets/metal-drawdown-DZ7uOHIc.js +1 -0
- package/runtime/assets/metal-fix-table-ChbUOgVu.js +1 -0
- package/runtime/assets/metal-milestones-BpfRvE7K.js +1 -0
- package/runtime/assets/metal-open-interest-BFYrS2KP.js +1 -0
- package/runtime/assets/metal-performance-CBD6oX6f.js +1 -0
- package/runtime/assets/metal-positioning-vs-price-BPxrZcR9.js +1 -0
- package/runtime/assets/metal-price-CIZRcE2_.js +1 -0
- package/runtime/assets/metal-price-chart-BX5tGnIt.js +1 -0
- package/runtime/assets/metal-ratio-chart-D99QH7nv.js +1 -0
- package/runtime/assets/metal-return-distribution-B0AAXxe0.js +1 -0
- package/runtime/assets/metal-seasonality-BuQKG4Gi.js +1 -0
- package/runtime/assets/metal-value-CTPzpBvh.js +1 -0
- package/runtime/assets/metal-volatility-g94-b7hn.js +1 -0
- package/runtime/assets/metals-board-DPfkH3Vj.js +1 -0
- package/runtime/assets/metals-correlation-BjZHMzKY.js +1 -0
- package/runtime/assets/metals-shared-CN6-LtS3.js +1 -0
- package/runtime/assets/metric-row-CqsjSvCI.js +1 -0
- package/runtime/assets/mini-line-chart-B0Ixv2kC.js +1 -0
- package/runtime/assets/mining-pools-BpaMCs0f.js +1 -0
- package/runtime/assets/mining-pools-share-CrfTxNKr.js +1 -0
- package/runtime/assets/misery-index-BU2requD.js +1 -0
- package/runtime/assets/money-BHiVNo0u.js +1 -0
- package/runtime/assets/mover-row-DmmszLhN.js +1 -0
- package/runtime/assets/movers-bars-Bp8o2qzk.js +1 -0
- package/runtime/assets/movers-bubbles-BidtAeZE.js +1 -0
- package/runtime/assets/multi-series-line-chart-DyOsZlI2.css +1 -0
- package/runtime/assets/multi-series-line-chart-XRttVKf5.js +1 -0
- package/runtime/assets/mvrv-CrYk75Yb.js +1 -0
- package/runtime/assets/mvrv-zscore-chart-0m51ohsV.js +1 -0
- package/runtime/assets/national-debt-BExrnkxj.js +1 -0
- package/runtime/assets/news-feed-BHQ8VVq_.js +1 -0
- package/runtime/assets/nft-activity-bars-BjGU2vJF.js +1 -0
- package/runtime/assets/nft-bubbles-BU8EpLxc.js +1 -0
- package/runtime/assets/nft-collections-BED52ibd.js +1 -0
- package/runtime/assets/nft-scatter-CGhED2cB.js +1 -0
- package/runtime/assets/nft-treemap-PO55tL6W.js +1 -0
- package/runtime/assets/note-Dgl6DLv8.js +3 -0
- package/runtime/assets/nupl-DglP-qbC.js +1 -0
- package/runtime/assets/nupl-cycle-chart-S9yflXUB.js +1 -0
- package/runtime/assets/nyfed-fed-funds-band-gauge-CFMKcqEc.js +1 -0
- package/runtime/assets/nyfed-reference-rate-bars-C_3KkqpO.js +1 -0
- package/runtime/assets/nyfed-sofr-term-averages-bars-Dqaa52Pl.js +1 -0
- package/runtime/assets/ofr-stress-category-area-DnEjZbRo.js +1 -0
- package/runtime/assets/ohlcv-volume-bars-Bi83GPWW.js +1 -0
- package/runtime/assets/oi-treemap-BbPekPJp.js +1 -0
- package/runtime/assets/onchain-oscillator-overlay-Ck_7aTc_.js +1 -0
- package/runtime/assets/open-interest-B5119LVQ.js +1 -0
- package/runtime/assets/options-flow-skew-Cj0v65sh.js +1 -0
- package/runtime/assets/options-iv-Bbopuw_Z.js +1 -0
- package/runtime/assets/options-max-pain-DkUoBRmq.js +1 -0
- package/runtime/assets/options-max-pain-multi-BZq8vuHy.js +1 -0
- package/runtime/assets/options-oi-ladder-heatmap-BMFAQkEI.js +1 -0
- package/runtime/assets/options-oi-skew-B3eQqfLD.js +1 -0
- package/runtime/assets/options-oi-strike-D1ZtVHSn.js +1 -0
- package/runtime/assets/options-put-call-lwGRvlsC.js +1 -0
- package/runtime/assets/options-vol-smile-zdzBnvMN.js +1 -0
- package/runtime/assets/options-vol-spread-CnZEubR3.js +1 -0
- package/runtime/assets/order-book-depth-CeFNsjv3.js +1 -0
- package/runtime/assets/payrolls-bars-T0e6cyjh.js +1 -0
- package/runtime/assets/pi-cycle-CqX0lAu1.js +1 -0
- package/runtime/assets/pie-chart-cmDhECET.js +1 -0
- package/runtime/assets/pomodoro-BstwVCqa.js +1 -0
- package/runtime/assets/portfolio-allocation-DzjS0F9u.js +1 -0
- package/runtime/assets/portfolio-common-CcbzaPrv.js +1 -0
- package/runtime/assets/portfolio-holdings-1d7jT_Dv.js +1 -0
- package/runtime/assets/portfolio-movers-vdVKKjAL.js +1 -0
- package/runtime/assets/portfolio-value-C2hCsXwG.js +1 -0
- package/runtime/assets/portfolio-value-bars-Bkh18oxT.js +1 -0
- package/runtime/assets/prediction-market-bars-WOea9YlB.js +1 -0
- package/runtime/assets/prediction-market-scatter-Bg8Hp9YU.js +1 -0
- package/runtime/assets/prediction-markets-bubble-DUFbL6ZL.js +1 -0
- package/runtime/assets/prediction-markets-vrOoZGTG.js +1 -0
- package/runtime/assets/price-chart-NGnXyEwF.js +1 -0
- package/runtime/assets/price-compare-D0cu78Tg.js +1 -0
- package/runtime/assets/price-liveline-B_6-t2eO.js +1 -0
- package/runtime/assets/price-ticker-DpNG6jQF.js +1 -0
- package/runtime/assets/protocol-fees-bubbles-CfMsdfGV.js +1 -0
- package/runtime/assets/protocol-fees-treemap-b4z8_0dU.js +1 -0
- package/runtime/assets/protocol-fees-vs-tvl-scatter-D-REm65e.js +1 -0
- package/runtime/assets/protocol-tvl-bubbles-BDAUSzkE.js +1 -0
- package/runtime/assets/protocol-tvl-by-category-fw6ADU1F.js +1 -0
- package/runtime/assets/protocol-tvl-chart-Q1hGvfby.js +1 -0
- package/runtime/assets/protocol-tvl-share-area-DXQzexAL.js +1 -0
- package/runtime/assets/protocol-tvl-treemap-DC_qfwIF.js +1 -0
- package/runtime/assets/puell-multiple-uc0NZXdh.js +1 -0
- package/runtime/assets/put-call-gauge-DtlDFtDZ.js +1 -0
- package/runtime/assets/quote-CuEE1U0a.js +1 -0
- package/runtime/assets/radial-gauge-DUhIBGcM.js +1 -0
- package/runtime/assets/rates-board-Byz3erIf.js +1 -0
- package/runtime/assets/react-DdM8gsnR.js +9 -0
- package/runtime/assets/real-wages-BU2XSTAC.js +1 -0
- package/runtime/assets/realized-price-D91T6q7P.js +1 -0
- package/runtime/assets/reserve-risk-CuRuMPUz.js +1 -0
- package/runtime/assets/returns-projector-DvVTUgZa.js +1 -0
- package/runtime/assets/risk-reward-Brde1Qql.js +1 -0
- package/runtime/assets/rolldown-runtime-Bh1tDfsg.js +1 -0
- package/runtime/assets/rsi-momentum-DFARJhwN.js +1 -0
- package/runtime/assets/rules-card-CDgHHXtE.js +1 -0
- package/runtime/assets/scatter-chart-tjlc1NWO.js +1 -0
- package/runtime/assets/scene-DgXljRUS.js +1 -0
- package/runtime/assets/sector-bars-D0A6Sj3C.js +1 -0
- package/runtime/assets/sector-bubbles-C5lQoTi9.js +1 -0
- package/runtime/assets/sector-performance-CVVJ-VGu.js +1 -0
- package/runtime/assets/sector-treemap-lyftrGDF.js +1 -0
- package/runtime/assets/sentiment-gauge-CdnbFwyn.js +1 -0
- package/runtime/assets/session-progress-BfuN5Ilt.js +1 -0
- package/runtime/assets/short-volume-B2TiqLCD.js +1 -0
- package/runtime/assets/short-volume-bars-Cm-TnzY-.js +1 -0
- package/runtime/assets/snake-D0Secq9I.js +1 -0
- package/runtime/assets/sopr-j5kMKG03.js +1 -0
- package/runtime/assets/spotify-embed-BJIW3cBK.js +1 -0
- package/runtime/assets/stablecoin-chains-jLxaRE9T.js +1 -0
- package/runtime/assets/stablecoin-supply-6Q2kIHWN.js +1 -0
- package/runtime/assets/stacked-area-chart-B3ayMBfx.js +1 -0
- package/runtime/assets/stopwatch-DKtBGcQd.js +1 -0
- package/runtime/assets/timeframe-DUDLPk23.js +1 -0
- package/runtime/assets/tokenized-gold-B6KMvUVf.js +1 -0
- package/runtime/assets/top-movers-Bzz7lloh.js +1 -0
- package/runtime/assets/treasury-auction-demand-scatter-CUoIYkrP.js +1 -0
- package/runtime/assets/treasury-auction-size-bars-DXMJ0a9C.js +1 -0
- package/runtime/assets/treasury-auctions-ChsX0OUJ.js +1 -0
- package/runtime/assets/treasury-avg-rate-bars-DQ_HgQ0U.js +1 -0
- package/runtime/assets/treasury-debt-composition-area-C3sBaNNX.js +1 -0
- package/runtime/assets/treemap-leaf-f-vE1hUM.js +1 -0
- package/runtime/assets/trending-bars-DtgWzD_x.js +1 -0
- package/runtime/assets/trending-bubbles-DRJqfQqK.js +1 -0
- package/runtime/assets/trending-coins-n7mmU4mL.js +1 -0
- package/runtime/assets/tvl-bars-5IQ6zz2M.js +1 -0
- package/runtime/assets/tvl-bubbles-DU2M5Zl1.js +1 -0
- package/runtime/assets/tvl-treemap-qsmpeeAB.js +1 -0
- package/runtime/assets/ui-CYz5SGgR.js +1 -0
- package/runtime/assets/us-gold-reserve-8L2oYWV_.js +1 -0
- package/runtime/assets/us-gold-vaults-TuTFtr2T.js +1 -0
- package/runtime/assets/use-countdown-DSLbwkPl.js +1 -0
- package/runtime/assets/utils-BsB3-B7h.js +1 -0
- package/runtime/assets/video-CYH3El1X.js +1 -0
- package/runtime/assets/volume-movers-scatter-B8dYI1EZ.js +1 -0
- package/runtime/assets/volume-profile-W44vUguI.js +1 -0
- package/runtime/assets/volume-share-donut-CLbp38ek.js +1 -0
- package/runtime/assets/yield-composition-scatter-BinG9C4D.js +1 -0
- package/runtime/assets/yield-curve-DHeqDdBV.js +1 -0
- package/runtime/assets/yield-momentum-bars-D4ToH0Fp.js +1 -0
- package/runtime/assets/yield-risk-pie-C73G7WqW.js +1 -0
- package/runtime/assets/yield-scanner-uR4S_OrU.js +1 -0
- package/runtime/assets/yield-scatter-CnZQ7naG.js +1 -0
- package/runtime/index.html +7 -3
- package/runtime/assets/bar-chart-DCMbxUJx.js +0 -1
- package/runtime/assets/bitcoin-dominance-DQ6fUOfp.js +0 -1
- package/runtime/assets/breakeven-BiMfl0NU.js +0 -1
- package/runtime/assets/breathing-BQamMTOy.js +0 -1
- package/runtime/assets/btc-block-size-bars-DbwVb3YX.js +0 -1
- package/runtime/assets/btc-blocks-UZJqCEtB.js +0 -1
- package/runtime/assets/btc-difficulty-BtNgUCRS.js +0 -1
- package/runtime/assets/btc-difficulty-chart-BNT2fdwu.js +0 -1
- package/runtime/assets/btc-fees-CJhybpGO.js +0 -1
- package/runtime/assets/btc-hashrate-CtKkSA37.js +0 -1
- package/runtime/assets/btc-mempool-Dvlm6Uqk.js +0 -1
- package/runtime/assets/btc-shared-yOWoU9Im.js +0 -1
- package/runtime/assets/bubbles-shared-DlmjtiIA.js +0 -1
- package/runtime/assets/calculator-vMXfcXI8.js +0 -1
- package/runtime/assets/capital-structure-bars-B8-6gPY8.js +0 -1
- package/runtime/assets/chain-activity-Dj-2gNmT.js +0 -1
- package/runtime/assets/chain-activity-bars-BKvgXG2Z.js +0 -1
- package/runtime/assets/chain-activity-scatter-BQHleuZR.js +0 -1
- package/runtime/assets/chain-price-movers-Brvxvf8U.js +0 -1
- package/runtime/assets/chart-utils-DGogNvJT.js +0 -1
- package/runtime/assets/checklist-CNXEkmSt.js +0 -1
- package/runtime/assets/clock-Cygi_7Rq.js +0 -1
- package/runtime/assets/coin-momentum-heatmap-1twNsb0f.js +0 -1
- package/runtime/assets/coin-momentum-scatter-DPsgGLFi.js +0 -1
- package/runtime/assets/coin-movers-CVT1PPyM.js +0 -1
- package/runtime/assets/content-shared-BZ1XzrJx.js +0 -1
- package/runtime/assets/countdown-DSGwZS9O.js +0 -1
- package/runtime/assets/custom-data-eTpLXe-p.js +0 -1
- package/runtime/assets/cycle-shared-XoGVsOjC.js +0 -1
- package/runtime/assets/cycle-signals-DjvuKoAs.js +0 -1
- package/runtime/assets/cycle-valuation-composite-D2lAreTy.js +0 -1
- package/runtime/assets/d3-ibrLIlQc.js +0 -1
- package/runtime/assets/daily-analysis-00KQOxaw.js +0 -1
- package/runtime/assets/day-meter-VL3CbmZ4.js +0 -1
- package/runtime/assets/defi-revenue-DWs3X1sr.js +0 -1
- package/runtime/assets/dex-hot-pools-Btjw9uOK.js +0 -1
- package/runtime/assets/dex-pool-bubbles-DOWGPgDC.js +0 -1
- package/runtime/assets/dex-pool-liquidity-scatter-DBqKeUjl.js +0 -1
- package/runtime/assets/dex-pool-treemap-Dev3WsvG.js +0 -1
- package/runtime/assets/dex-volume-bubbles-C9INGAs-.js +0 -1
- package/runtime/assets/dex-volume-chart-CdhI9ySp.js +0 -1
- package/runtime/assets/dex-volume-share-area-DblxtqOC.js +0 -1
- package/runtime/assets/dex-volume-treemap-LweUYNfn.js +0 -1
- package/runtime/assets/dice-CRJFRdlS.js +0 -1
- package/runtime/assets/dino-game-DIj8Xqmq.js +0 -1
- package/runtime/assets/divider-C0PhyAZz.js +0 -1
- package/runtime/assets/dominance-bars-CNztOXI9.js +0 -1
- package/runtime/assets/dominance-gauge-BSlVu-kG.js +0 -1
- package/runtime/assets/drawdy-UVwx54Tz.js +0 -1
- package/runtime/assets/dxy-DDnItBY-.js +0 -1
- package/runtime/assets/dxy-chart-CbyyyRdn.js +0 -1
- package/runtime/assets/editor-C9dj6xX0.css +0 -1
- package/runtime/assets/editor-CpgNu0wu.js +0 -68
- package/runtime/assets/etf-flow-bars-Dknb70p4.js +0 -1
- package/runtime/assets/etf-flow-calendar-DXTg-p2v.js +0 -1
- package/runtime/assets/etf-flows-D7WwvrYS.js +0 -1
- package/runtime/assets/etf-flows-chart-D_Ts_7Bc.js +0 -1
- package/runtime/assets/etf-issuer-bars-B5q3WXIk.js +0 -1
- package/runtime/assets/etf-issuer-treemap-hdTKUL3C.js +0 -1
- package/runtime/assets/eth-issuance-impact-CSucvUy4.js +0 -1
- package/runtime/assets/eth-staking-Yp_RzOHD.js +0 -1
- package/runtime/assets/eth-supply-jf4tRC80.js +0 -1
- package/runtime/assets/fear-greed-BrDutlol.js +0 -1
- package/runtime/assets/fear-greed-chart-BPAfnROs.js +0 -1
- package/runtime/assets/feed-row-mVg1d5Zj.js +0 -1
- package/runtime/assets/filings-feed-BrtWoUaf.js +0 -1
- package/runtime/assets/filings-mix-D8Z-fvzY.js +0 -1
- package/runtime/assets/financial-stress-DaxcQDnz.js +0 -1
- package/runtime/assets/flappy-bird-M38jNjAd.js +0 -1
- package/runtime/assets/format-DxkEZcwQ.js +0 -1
- package/runtime/assets/fundamentals-TlBRBKFV.js +0 -1
- package/runtime/assets/funding-bars-BPDrsC0K.js +0 -1
- package/runtime/assets/funding-carry-area-BZRpyy3L.js +0 -1
- package/runtime/assets/funding-comparison-C1OOzJw-.js +0 -1
- package/runtime/assets/funding-crowding-scatter-DDjzoq8v.js +0 -1
- package/runtime/assets/funding-heatmap-DqnJJPw0.js +0 -1
- package/runtime/assets/funding-leaderboard-bars-CrQMBbY7.js +0 -1
- package/runtime/assets/funding-rate-chart-dYIjvTBt.js +0 -1
- package/runtime/assets/funding-spread-bars-CRoG-zHf.js +0 -1
- package/runtime/assets/funding-venue-heatmap-DA0JsXzA.js +0 -1
- package/runtime/assets/fx-board-C_h1IJJy.js +0 -1
- package/runtime/assets/fx-cross-heatmap-CLHkKvsB.js +0 -1
- package/runtime/assets/fx-movers-bars-_U6XrETl.js +0 -1
- package/runtime/assets/fx-trend-chart-Cdi-lmjx.js +0 -1
- package/runtime/assets/game-ui-BiMS2KJf.js +0 -1
- package/runtime/assets/gridstack-BxxvPIFU.js +0 -9
- package/runtime/assets/gridstack-FIb_WQSt.css +0 -1
- package/runtime/assets/heading-BS9IhuAM.js +0 -1
- package/runtime/assets/hero-number-R-27T2n_.js +0 -1
- package/runtime/assets/holiday-calendar-BxcU0Y64.js +0 -1
- package/runtime/assets/image-HcDu9YKF.js +0 -1
- package/runtime/assets/image-gallery-BCXhCjqj.js +0 -1
- package/runtime/assets/index-BJ1Zyy42.js +0 -1108
- package/runtime/assets/index-BXLwJuoo.css +0 -1
- package/runtime/assets/index-BpPIfN5S.js +0 -1
- package/runtime/assets/index-Bw1aFtyx.js +0 -1
- package/runtime/assets/index-DuNO-RcB.js +0 -1
- package/runtime/assets/index-yv-SCb9g.css +0 -1
- package/runtime/assets/indicators-Cw7CVPn4.js +0 -1
- package/runtime/assets/inflation-pulse-BDmh42Nq.js +0 -1
- package/runtime/assets/journal-log-BKsmm4ZL.js +0 -1
- package/runtime/assets/journal-open-CQtXIVzV.js +0 -1
- package/runtime/assets/journal-results-BBhWJDi4.js +0 -1
- package/runtime/assets/journal-score-DRmD6tOH.js +0 -1
- package/runtime/assets/journal-store-DVDSxNMj.js +0 -1
- package/runtime/assets/journal-ui-YZ5om8r6.js +0 -1
- package/runtime/assets/labor-force-flow-B-8gZXZw.js +0 -1
- package/runtime/assets/labor-market-C6nbrubk.js +0 -1
- package/runtime/assets/lightning-stats-cbygNRrq.js +0 -1
- package/runtime/assets/link-grid-C0BQkbQ9.js +0 -1
- package/runtime/assets/liquidity-basis-bars-Dd5FSjDX.js +0 -1
- package/runtime/assets/live-tick-9Q3ubPF9.js +0 -1
- package/runtime/assets/liveline-bcaEuskN.js +0 -1
- package/runtime/assets/ma-multiplier-CrY1aFKX.js +0 -1
- package/runtime/assets/macro-calendar-D9MJ74wW.js +0 -1
- package/runtime/assets/market-bubbles-BKLV2VSd.js +0 -1
- package/runtime/assets/market-cap-treemap-B9af5p9K.js +0 -1
- package/runtime/assets/market-data-CvmpLFSo.js +0 -1
- package/runtime/assets/market-hours-jJUnunAF.js +0 -1
- package/runtime/assets/market-scatter-_f6FvF2I.js +0 -1
- package/runtime/assets/marquee-CJGebjBa.js +0 -28
- package/runtime/assets/mayer-multiple-DcxCnx6X.js +0 -1
- package/runtime/assets/mempool-fee-curve-yI10fMrE.js +0 -1
- package/runtime/assets/metric-row-BVVhjsjK.js +0 -1
- package/runtime/assets/mini-line-chart-DyG55cVW.js +0 -1
- package/runtime/assets/mining-pools-SIhc1qJ_.js +0 -1
- package/runtime/assets/mining-pools-share-DQSjhlWH.js +0 -1
- package/runtime/assets/misery-index-p5iEl6PS.js +0 -1
- package/runtime/assets/mover-row-_czAON2U.js +0 -1
- package/runtime/assets/movers-bars-clMvsESM.js +0 -1
- package/runtime/assets/movers-bubbles-CnHOfNZx.js +0 -1
- package/runtime/assets/mvrv-x4gyjhWx.js +0 -1
- package/runtime/assets/mvrv-zscore-chart-BT3IGmGY.js +0 -1
- package/runtime/assets/national-debt-DNtVgcl5.js +0 -1
- package/runtime/assets/news-feed-BVfKqSh7.js +0 -1
- package/runtime/assets/nft-activity-bars-lFRednN3.js +0 -1
- package/runtime/assets/nft-bubbles-ClNH9-_X.js +0 -1
- package/runtime/assets/nft-collections-B9RW4PJG.js +0 -1
- package/runtime/assets/nft-scatter--MbPsUx4.js +0 -1
- package/runtime/assets/nft-treemap-DBkTmq6-.js +0 -1
- package/runtime/assets/note-BhUZxKk8.js +0 -3
- package/runtime/assets/nupl-D3l-QZE3.js +0 -1
- package/runtime/assets/nupl-cycle-chart-BskEKMiX.js +0 -1
- package/runtime/assets/nyfed-fed-funds-band-gauge-CyShM9Rb.js +0 -1
- package/runtime/assets/nyfed-reference-rate-bars-WKmIeI9B.js +0 -1
- package/runtime/assets/nyfed-sofr-term-averages-bars-BXymij4O.js +0 -1
- package/runtime/assets/ofr-stress-category-area-Cq2zYtm9.js +0 -1
- package/runtime/assets/ohlcv-volume-bars-BqgMyH4V.js +0 -1
- package/runtime/assets/oi-treemap-Bu6FQGPf.js +0 -1
- package/runtime/assets/onchain-oscillator-overlay-BETEO4VQ.js +0 -1
- package/runtime/assets/open-interest-DPwK2Vft.js +0 -1
- package/runtime/assets/options-flow-skew-CLWqzUM0.js +0 -1
- package/runtime/assets/options-iv-tjSjFT91.js +0 -1
- package/runtime/assets/options-max-pain-multi-bMgyJ7e8.js +0 -1
- package/runtime/assets/options-max-pain-v6hCUt4V.js +0 -1
- package/runtime/assets/options-oi-ladder-heatmap-M34leT_q.js +0 -1
- package/runtime/assets/options-oi-skew-DxGLV4Co.js +0 -1
- package/runtime/assets/options-oi-strike-CoVTVWcx.js +0 -1
- package/runtime/assets/options-put-call-fRylJJIM.js +0 -1
- package/runtime/assets/options-vol-smile-DsHa2Bug.js +0 -1
- package/runtime/assets/options-vol-spread-BB1X9lml.js +0 -1
- package/runtime/assets/payrolls-bars-CQOZQEvE.js +0 -1
- package/runtime/assets/pi-cycle-BTdRfEfm.js +0 -1
- package/runtime/assets/pie-chart-BIxKuHm-.js +0 -1
- package/runtime/assets/pomodoro-lYAXlnH5.js +0 -1
- package/runtime/assets/portfolio-allocation-CJCJ-fv5.js +0 -1
- package/runtime/assets/portfolio-common-BMRwgiXd.js +0 -1
- package/runtime/assets/portfolio-holdings-BwUpyolL.js +0 -1
- package/runtime/assets/portfolio-movers-CGcHyyU9.js +0 -1
- package/runtime/assets/portfolio-value--mB-D1zn.js +0 -1
- package/runtime/assets/portfolio-value-bars-C1sg3z_9.js +0 -1
- package/runtime/assets/prediction-market-bars-CV7qn0TK.js +0 -1
- package/runtime/assets/prediction-market-scatter-vvAyUSMc.js +0 -1
- package/runtime/assets/prediction-markets-Dj5pUGQ9.js +0 -1
- package/runtime/assets/prediction-markets-bubble-Dy58nx5D.js +0 -1
- package/runtime/assets/price-chart-BWVJKy6l.js +0 -1
- package/runtime/assets/price-compare-X_somRkJ.js +0 -1
- package/runtime/assets/price-liveline-BcfvYH4i.js +0 -1
- package/runtime/assets/price-ticker-Dp5X5iEE.js +0 -1
- package/runtime/assets/protocol-fees-bubbles-cOlmopfM.js +0 -1
- package/runtime/assets/protocol-fees-treemap-k3DCqpib.js +0 -1
- package/runtime/assets/protocol-fees-vs-tvl-scatter-DE0XqWUP.js +0 -1
- package/runtime/assets/protocol-tvl-bubbles-C_y8RNpr.js +0 -1
- package/runtime/assets/protocol-tvl-by-category-CU3EhtYv.js +0 -1
- package/runtime/assets/protocol-tvl-chart-BSjYp87K.js +0 -1
- package/runtime/assets/protocol-tvl-share-area-A9uUDjqD.js +0 -1
- package/runtime/assets/protocol-tvl-treemap-DK99PI9E.js +0 -1
- package/runtime/assets/puell-multiple-DUwx8WAi.js +0 -1
- package/runtime/assets/put-call-gauge-wPFbaG0I.js +0 -1
- package/runtime/assets/quote-BEXrdAL4.js +0 -1
- package/runtime/assets/radial-gauge-0BzRQ6fO.js +0 -1
- package/runtime/assets/rates-board-Bo-1vZL3.js +0 -1
- package/runtime/assets/react-qoZPGuNy.js +0 -49
- package/runtime/assets/real-wages-DFbQjlXf.js +0 -1
- package/runtime/assets/realized-price-C7sCYZ-5.js +0 -1
- package/runtime/assets/reserve-risk-CYWr6Bnu.js +0 -1
- package/runtime/assets/returns-projector-Bitu8mA2.js +0 -1
- package/runtime/assets/risk-reward-5CA4dPWK.js +0 -1
- package/runtime/assets/rsi-momentum-BdScXy4t.js +0 -1
- package/runtime/assets/rules-card-BxdIuORn.js +0 -1
- package/runtime/assets/scatter-chart-B78EA7lD.js +0 -1
- package/runtime/assets/scene-uwfOGek1.js +0 -1
- package/runtime/assets/sector-bars-B4Nabix2.js +0 -1
- package/runtime/assets/sector-bubbles-D_s1FnKb.js +0 -1
- package/runtime/assets/sector-performance-C8K8FBsp.js +0 -1
- package/runtime/assets/sector-treemap-DOn3li5j.js +0 -1
- package/runtime/assets/sentiment-gauge-D-TyqTrT.js +0 -1
- package/runtime/assets/session-progress-2uZKU_tb.js +0 -1
- package/runtime/assets/short-volume-DrAqZxL_.js +0 -1
- package/runtime/assets/short-volume-bars-D0tDnbRp.js +0 -1
- package/runtime/assets/snake-CPrCYXRC.js +0 -1
- package/runtime/assets/sopr-CL-DcV9H.js +0 -1
- package/runtime/assets/spotify-embed-Cuyo3WcD.js +0 -1
- package/runtime/assets/stablecoin-chains-BNyBP4r7.js +0 -1
- package/runtime/assets/stablecoin-supply-CDoJSW65.js +0 -1
- package/runtime/assets/stopwatch-C5UbM7BR.js +0 -1
- package/runtime/assets/top-movers-n7gjNCAB.js +0 -1
- package/runtime/assets/treasury-auction-demand-scatter-B2GgfweB.js +0 -1
- package/runtime/assets/treasury-auction-size-bars-RSKrqPZN.js +0 -1
- package/runtime/assets/treasury-auctions-DmhLNhux.js +0 -1
- package/runtime/assets/treasury-avg-rate-bars-CHo7_TZ6.js +0 -1
- package/runtime/assets/treasury-debt-composition-area-D9TIg2Fu.js +0 -1
- package/runtime/assets/treemap-leaf-QG-L-SIG.js +0 -1
- package/runtime/assets/trending-bars-CFUOf_2T.js +0 -1
- package/runtime/assets/trending-bubbles-CWixlrYZ.js +0 -1
- package/runtime/assets/trending-coins-XmlyMu9W.js +0 -1
- package/runtime/assets/tvl-bars-CMr0p3wy.js +0 -1
- package/runtime/assets/tvl-bubbles-CBwy6njm.js +0 -1
- package/runtime/assets/tvl-treemap-Df9Sw5pQ.js +0 -1
- package/runtime/assets/ui-Bq3RQsdJ.js +0 -1
- package/runtime/assets/use-countdown-BmcF-qdL.js +0 -1
- package/runtime/assets/utils-DxneYyA_.js +0 -1
- package/runtime/assets/video-Cb7G8kra.js +0 -1
- package/runtime/assets/volume-movers-scatter-MwF5sr-K.js +0 -1
- package/runtime/assets/volume-profile-DM349em1.js +0 -1
- package/runtime/assets/volume-share-donut-FMessqoh.js +0 -1
- package/runtime/assets/yield-composition-scatter-51jp_MgP.js +0 -1
- package/runtime/assets/yield-curve-WOaDSVNR.js +0 -1
- package/runtime/assets/yield-momentum-bars-0hhg35dJ.js +0 -1
- package/runtime/assets/yield-risk-pie-mBxQGJN1.js +0 -1
- package/runtime/assets/yield-scanner-DTDsWH9C.js +0 -1
- package/runtime/assets/yield-scatter-BkeRhOK4.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400..800&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-green-500:oklch(72.3% .219 149.579);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-800:oklch(27.8% .033 256.848);--color-zinc-900:oklch(21% .006 285.885);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background-terminal:#0e0e16;--color-surface:#ffffff0f;--color-normal:#ffffffd9;--color-strong:#fffffff2;--color-soft:#fff9;--color-disabled:#ffffff4d;--color-card:#ffffff05;--color-highlight:hsl(var(--zf-accent-hue,242) calc(var(--zf-accent-sat,90%) + 10%) 89%);--color-accent-line:hsl(var(--zf-accent-hue,242) calc(var(--zf-accent-sat,90%) - 5%) 72%);--font-dmsans:"DM Sans", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.\[container-type\:size\]{container-type:size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-\[10\%\]{inset:10%}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-y-\[5px\]{inset-block:5px}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-50{top:calc(var(--spacing) * 50)}.top-500{top:calc(var(--spacing) * 500)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-1\/2{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-\[0\.3em\]{margin-top:-.3em}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-\[5px\]{margin-bottom:5px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-\[0\.3em\]{margin-left:.3em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-20{height:calc(var(--spacing) * 20)}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[11px\]{height:11px}.h-\[22px\]{height:22px}.h-\[30px\]{height:30px}.h-\[100dvh\]{height:100dvh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-\[3px\]{min-height:3px}.min-h-\[36px\]{min-height:36px}.min-h-\[42px\]{min-height:42px}.min-h-\[72px\]{min-height:72px}.w-0{width:calc(var(--spacing) * 0)}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-7\/12{width:58.3333%}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11\/12{width:91.6667%}.w-16{width:calc(var(--spacing) * 16)}.w-\[3px\]{width:3px}.w-\[5px\]{width:5px}.w-\[30px\]{width:30px}.w-\[55\%\]{width:55%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-10{max-width:calc(var(--spacing) * 10)}.max-w-12{max-width:calc(var(--spacing) * 12)}.max-w-\[46\%\]{max-width:46%}.max-w-\[100px\]{max-width:100px}.max-w-\[126px\]{max-width:126px}.max-w-\[180px\]{max-width:180px}.max-w-\[1320px\]{max-width:1320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[64px\]{min-width:64px}.min-w-\[76px\]{min-width:76px}.min-w-\[84px\]{min-width:84px}.min-w-\[112px\]{min-width:112px}.min-w-\[130px\]{min-width:130px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.\[appearance\:textfield\]{appearance:textfield}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto auto minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:auto minmax(0,1fr) auto auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_4\.25rem\]{grid-template-columns:minmax(0,1fr) auto 4.25rem}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[0\.5em\]{gap:.5em}.gap-\[0\.25em\]{gap:.25em}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[5px\]{border-radius:5px}.rounded-\[9px\]{border-radius:9px}.rounded-\[11px\]{border-radius:11px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-full{border-top-left-radius:2147483647px;border-bottom-left-radius:2147483647px}.rounded-r-full{border-top-right-radius:2147483647px;border-bottom-right-radius:2147483647px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/\[0\.04\]{border-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.04\]{border-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.border-white\/\[0\.07\]{border-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.07\]{border-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.border-white\/\[0\.08\]{border-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.08\]{border-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.border-white\/\[0\.12\]{border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.12\]{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.border-t-white\/80{border-top-color:#fffc}@supports (color:color-mix(in lab, red, red)){.border-t-white\/80{border-top-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-\[hsl\(var\(--zf-accent-hue\,242\)_90\%_60\%\)\]{background-color:hsl(var(--zf-accent-hue,242) 90% 60%)}.bg-black\/55{background-color:#0000008c}@supports (color:color-mix(in lab, red, red)){.bg-black\/55{background-color:color-mix(in oklab, var(--color-black) 55%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-gray-800{background-color:var(--color-gray-800)}.bg-neutral-950\/95{background-color:#0a0a0af2}@supports (color:color-mix(in lab, red, red)){.bg-neutral-950\/95{background-color:color-mix(in oklab, var(--color-neutral-950) 95%, transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.bg-white\/25{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab, var(--color-white) 2%, transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.bg-white\/\[0\.07\]{background-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.07\]{background-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.bg-white\/\[0\.022\]{background-color:#ffffff06}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.022\]{background-color:color-mix(in oklab, var(--color-white) 2.2%, transparent)}}.bg-white\/\[0\.035\]{background-color:#ffffff09}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.035\]{background-color:color-mix(in oklab, var(--color-white) 3.5%, transparent)}}.bg-white\/\[0\.045\]{background-color:#ffffff0b}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.045\]{background-color:color-mix(in oklab, var(--color-white) 4.5%, transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[5px\]{padding-inline:5px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-\[3px\]{padding-block:3px}.py-px{padding-block:1px}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-px{padding-top:1px}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-0\.5{padding-left:calc(var(--spacing) * .5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-\[13px\]{padding-left:13px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.metric-lg{font-family:var(--font-dmsans);font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.metric-md{font-family:var(--font-dmsans);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.metric-sm{font-family:var(--font-dmsans);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.metric-xl{font-family:var(--font-dmsans);font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.body-lg{font-family:var(--font-dmsans);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.body-md{font-family:var(--font-dmsans);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.body-sm{font-family:var(--font-dmsans);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.caption{font-family:var(--font-dmsans);--tw-font-weight:var(--font-weight-medium);font-size:.6875rem;font-weight:var(--font-weight-medium)}.font-dmsans{font-family:var(--font-dmsans)}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.7em\]{font-size:.7em}.text-\[0\.85em\]{font-size:.85em}.text-\[1\.15rem\]{font-size:1.15rem}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.09em\]{--tw-tracking:.09em;letter-spacing:.09em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#ff6b81\]{color:#ff6b81}.text-\[hsl\(var\(--zf-accent-hue\,242\)_90\%_72\%\)\]{color:hsl(var(--zf-accent-hue,242) 90% 72%)}.text-disabled{color:var(--color-disabled)}.text-gray-400{color:var(--color-gray-400)}.text-highlight{color:var(--color-highlight)}.text-highlight\/70{color:color-mix(in srgb, hsl(var(--zf-accent-hue,242) calc(var(--zf-accent-sat,90%) + 10%) 89%) 70%, transparent)}@supports (color:color-mix(in lab, red, red)){.text-highlight\/70{color:color-mix(in oklab, var(--color-highlight) 70%, transparent)}}.text-normal{color:var(--color-normal)}.text-soft{color:var(--color-soft)}.text-strong{color:var(--color-strong)}.text-white{color:var(--color-white)}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\/30{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.12\)\,0_4px_10px_-7px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff1f), 0 4px 10px -7px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-black\/30{--tw-ring-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.ring-black\/30{--tw-ring-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.ring-white\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.ring-white\/10{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 3px var(--tw-drop-shadow-color,#00000080));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-strong:is(:where(.group):hover *){color:var(--color-strong)}.group-hover\:opacity-95:is(:where(.group):hover *){opacity:.95}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-disabled::placeholder{color:var(--color-disabled)}.placeholder\:text-white\/30::placeholder{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-white\/30::placeholder{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-1\.5:before{content:var(--tw-content);top:calc(var(--spacing) * 1.5)}.before\:bottom-1\.5:before{content:var(--tw-content);bottom:calc(var(--spacing) * 1.5)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\:w-0\.5:before{content:var(--tw-content);width:calc(var(--spacing) * .5)}.before\:rounded-full:before{content:var(--tw-content);border-radius:2147483647px}.before\:bg-highlight:before{content:var(--tw-content);background-color:var(--color-highlight)}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.group-hover\:before\:opacity-100:is(:where(.group):hover *):before{content:var(--tw-content);opacity:1}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-\[var\(--color-accent-line\)\]:focus-within{border-color:var(--color-accent-line)}@media (hover:hover){.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[var\(--color-accent-line\)\]:hover{border-color:var(--color-accent-line)}.hover\:border-white\/25:hover{border-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/25:hover{border-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:border-white\/\[0\.14\]:hover{border-color:#ffffff24}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/\[0\.14\]:hover{border-color:color-mix(in oklab, var(--color-white) 14.0%, transparent)}}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.03\]:hover{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.05\]:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.hover\:bg-gradient-to-t:hover{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hover\:bg-\[radial-gradient\(146\.13\%_118\.42\%_at_50\%_-15\.5\%\,rgba\(255\,255\,255\,0\.1\)_0\%\,rgba\(255\,255\,255\,0\)_99\.59\%\)\]:hover{background-image:radial-gradient(146.13% 118.42% at 50% -15.5%,#ffffff1a 0%,#fff0 99.59%)}.hover\:text-strong:hover{color:var(--color-strong)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:before\:opacity-100:hover:before{content:var(--tw-content);opacity:1}}.focus\:border-white\/25:focus{border-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.focus\:border-white\/25:focus{border-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-white\/50:focus-visible{outline-color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-white\/50:focus-visible{outline-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.active\:scale-\[0\.98\]:active{scale:.98}.active\:duration-0:active{--tw-duration:0s;transition-duration:0s}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media not all and (width>=40rem){.max-sm\:overflow-hidden{overflow:hidden}}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}.\[\&_svg\]\:\!text-white\/70 svg{color:#ffffffb3!important}@supports (color:color-mix(in lab, red, red)){.\[\&_svg\]\:\!text-white\/70 svg{color:color-mix(in oklab, var(--color-white) 70%, transparent)!important}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\:\:-webkit-scrollbar\]\:h-1\.5::-webkit-scrollbar{height:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{width:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:2147483647px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/\[0\.08\]::-webkit-scrollbar-thumb{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/\[0\.08\]::-webkit-scrollbar-thumb{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}@media (hover:hover){.hover\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/15:hover::-webkit-scrollbar-thumb{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/15:hover::-webkit-scrollbar-thumb{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}}.\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}.\[\&\>div\[style\*\=\'align-items\'\]\]\:\!hidden>div[style*=align-items]{display:none!important}}:root{--ease-out-quad:cubic-bezier(.25, .46, .45, .94);--ease-out-quart:cubic-bezier(.165, .84, .44, 1)}body{color:#dde3ee;-webkit-font-smoothing:antialiased;background:#07070c;margin:0;font-family:SF Mono,ui-monospace,JetBrains Mono,Menlo,monospace}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(1240px 660px at 50% -12%,#210ea047,#0000 60%),radial-gradient(940px 540px at 86% -4%,#4a178c24,#0000 56%),radial-gradient(1000px 620px at 6% 10%,#1b506a12,#0000 60%);position:fixed;inset:0}:root{--zf-ease-out:cubic-bezier(.23, 1, .32, 1);--zf-scrollbar-thumb:#ffffff24;--zf-scrollbar-thumb-hover:#ffffff47}html{scrollbar-width:thin;scrollbar-color:var(--zf-scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--zf-scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:9999px;transition:background-color .15s}::-webkit-scrollbar-thumb:hover{background-color:var(--zf-scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--zf-scrollbar-thumb-hover)}@media (orientation:portrait){main:has(.zf-editor.zf-customise){padding-right:0}}@media (prefers-reduced-motion:no-preference){main>header{animation:app-enter .45s var(--zf-ease-out) both}.zf-bg-hue{animation:20s linear infinite zf-bg-hue-cycle}.zf-bg-breathe{animation:4.5s ease-in-out infinite zf-bg-breathe}}@keyframes app-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes zf-bg-hue-cycle{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}@keyframes zf-bg-breathe{0%,to{filter:saturate(.9)brightness(.96)}50%{filter:saturate(1.4)brightness(1.12)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){let n=Array(e.length).fill(null);if(t<=0)return n;let r=0;for(let i=0;i<e.length;i++)r+=e[i],i>=t&&(r-=e[i-t]),i>=t-1&&(n[i]=r/t);return n}function t(e,t){let n=[];if(e.length===0)return n;let r=2/(t+1),i=e[0];for(let t=0;t<e.length;t++)i=t===0?e[0]:e[t]*r+i*(1-r),n.push(i);return n}function n(e,t=14){let n=Array(e.length).fill(null);if(e.length<=t)return n;let r=0,i=0;for(let n=1;n<=t;n++){let t=e[n]-e[n-1];t>=0?r+=t:i-=t}let a=r/t,o=i/t;n[t]=o===0?100:100-100/(1+a/o);for(let r=t+1;r<e.length;r++){let i=e[r]-e[r-1],s=i>0?i:0,c=i<0?-i:0;a=(a*(t-1)+s)/t,o=(o*(t-1)+c)/t,n[r]=o===0?100:100-100/(1+a/o)}return n}function r(e){switch(e){case`90D`:return 90;case`180D`:return 180;case`1Y`:return 365;case`2Y`:return 730;case`4Y`:return 1460;default:return 1/0}}function i(e,t){return!Number.isFinite(t)||t>=e.length?e:e.slice(e.length-t)}function a(e){return e.map(e=>({date:new Date(e.time).toISOString(),value:e.value}))}function o(e){if(e.length===0)return[];let t=e.map(e=>e.value),n=Math.min(...t),r=Math.max(...t)-n;return r===0?e.map(e=>({time:e.time,value:.5})):e.map(e=>({time:e.time,value:(e.value-n)/r}))}export{i as a,e as i,o as n,a as o,n as r,r as s,t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{A as r}from"./hooks-CLLchjg6.js";import{a as i,s as a}from"./format-DWMrfgke.js";import{t as o}from"./ui-CYz5SGgR.js";import{t as s}from"./mini-line-chart-B0Ixv2kC.js";import{At as c,Ri as l}from"./index-9oCCAb1t.js";var u=e(n(),1),d=t();c.schema;var f=`CUUR0000SA0`;function p(e,t){return!t||t<=0?null:(e/t-1)*100}function m({config:e}){let t=new Date().getUTCFullYear(),{series:n,isLoading:c}=r(f,t-2,t),l=(0,u.useMemo)(()=>(n?.points??[]).slice(-e.months),[e.months,n?.points]),m=l.at(-1),h=l.at(-2),g=m?l.find(e=>{let t=new Date(e.time),n=new Date(m.time);return t.getUTCFullYear()===n.getUTCFullYear()-1&&t.getUTCMonth()===n.getUTCMonth()}):void 0,_=(0,u.useMemo)(()=>l.map(e=>({date:new Date(e.time).toISOString(),value:e.value})),[l]);if(c)return(0,d.jsx)(o,{loading:!0,children:`loading CPI…`});if(!n||!m)return(0,d.jsx)(o,{children:`no CPI data yet`});let v=p(m.value,h?.value),y=p(m.value,g?.value),b=i(y??v??0);return(0,d.jsxs)(`div`,{className:`flex h-full flex-col justify-center gap-3`,children:[(0,d.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`caption text-soft uppercase`,children:`BLS CPI-U`}),(0,d.jsx)(`div`,{className:`body-sm text-normal`,children:m.date})]}),(0,d.jsx)(`div`,{className:`caption text-soft text-right`,children:`monthly`})]}),(0,d.jsxs)(`div`,{className:`flex items-end justify-between gap-3`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`metric-xl leading-none`,style:{color:b,textShadow:`0 0 24px ${b}44`},children:y===null?`--`:a(y)}),(0,d.jsx)(`div`,{className:`caption text-soft mt-1`,children:`year over year`})]}),(0,d.jsxs)(`div`,{className:`text-right`,children:[(0,d.jsx)(`div`,{className:`caption text-soft`,children:`index`}),(0,d.jsx)(`div`,{className:`body-md text-strong font-bold tabular-nums`,children:m.value.toFixed(3)}),(0,d.jsx)(`div`,{className:`caption text-soft mt-2`,children:`month over month`}),(0,d.jsx)(`div`,{className:`body-md font-bold tabular-nums`,style:{color:i(v??0)},children:v===null?`--`:a(v)})]})]}),(0,d.jsx)(s,{data:_,width:210,height:46,color:b}),(0,d.jsxs)(`div`,{className:`caption text-soft`,children:[n.label,` · `,l.length,` monthly observations`]})]})}var h=l({...c,component:m});export{h as inflationPulseFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{F as r,f as i}from"./hooks-CLLchjg6.js";import{a,p as o,r as s,s as c}from"./format-DWMrfgke.js";import"./ui-CYz5SGgR.js";import{t as l}from"./content-shared-CrVCFeOp.js";import{a as u,n as d,o as f,t as p}from"./journal-store-DcqepoPT.js";import{Ri as m,jt as h,r as g,t as _}from"./index-9oCCAb1t.js";var v=e(n(),1),y=t(),b=[`xyz:*`],x=e=>Object.entries(e).filter(([,e])=>e.markPx>0).map(([e])=>e).sort((e,t)=>g(e).localeCompare(g(t)));h.schema;var S=[{label:`funding reset`,cls:`mean-reversion`},{label:`oversold bounce`,cls:`mean-reversion`},{label:`range reclaim`,cls:`mean-reversion`},{label:`breakout`,cls:`breakout`},{label:`momentum / trend`,cls:`breakout`},{label:`positioning flush`,cls:`positioning`},{label:`catalyst / earnings`,cls:`macro`}];function C(e){let[t,n]=(0,v.useState)(`xyz:TSLA`),[m,h]=(0,v.useState)(`long`),[C,w]=(0,v.useState)(!1),[T,E]=(0,v.useState)(``),[D,O]=(0,v.useState)(null),[k,A]=(0,v.useState)(``),[j,M]=(0,v.useState)(65),[N,P]=(0,v.useState)(!1),F=i(b,6e4),I=i(void 0,6e4),L=(0,v.useMemo)(()=>({...I,...F}),[I,F]),R=(0,v.useMemo)(()=>[...x(F),...x(I)],[F,I]),z=r([t]),B=e=>z[e]??L[e]?.markPx,V=B(t),H=L[t]?.changePct,U=D==null?null:S[D],W=U?d[U.cls]:null,G=!W||W.hits/W.n>=.55,K=(0,v.useMemo)(()=>{let e=T.trim().toLowerCase();return(e?R.filter(t=>g(t).toLowerCase().includes(e)):R).slice(0,80)},[T,R]);function q(){if(!U)return;let e=k.trim()?`${U.label} — ${k.trim()}`:U.label;f({sym:t,dir:m,confidence:j,claim:e,cls:U.cls,entry:V}),O(null),A(``),P(!0),window.setTimeout(()=>P(!1),1100)}return(0,y.jsxs)(`div`,{className:`flex h-full flex-col gap-2.5`,children:[(0,y.jsxs)(`div`,{className:`relative`,children:[(0,y.jsxs)(`button`,{type:`button`,onClick:()=>w(e=>!e),className:`flex w-full items-center gap-2 px-2.5 py-2 ${l}`,children:[(0,y.jsx)(_,{symbol:t,size:20}),(0,y.jsx)(`span`,{className:`body-md text-strong font-semibold`,children:g(t)}),(0,y.jsxs)(`span`,{className:`ml-auto flex items-baseline gap-2 tabular-nums`,children:[(0,y.jsx)(`span`,{className:`body-sm text-strong`,children:V==null?`…`:o(V)}),H!=null&&(0,y.jsx)(`span`,{className:`caption`,style:{color:a(H)},children:c(H)})]}),(0,y.jsx)(`span`,{className:`caption text-disabled ml-1`,children:C?`▲`:`▼`})]}),C&&(0,y.jsxs)(`div`,{className:`absolute left-0 right-0 top-full z-50 mt-1 flex flex-col gap-1 rounded-md p-1.5 shadow-xl`,style:{background:`hsl(248 32% 9%)`,border:`1px solid var(--color-accent-line)`},children:[(0,y.jsx)(`input`,{autoFocus:!0,value:T,onChange:e=>E(e.target.value),placeholder:`search ticker…`,className:`body-sm w-full rounded bg-white/[0.05] px-2 py-1.5 text-strong outline-none placeholder:text-disabled`}),(0,y.jsxs)(`div`,{className:`flex max-h-44 flex-col min-h-0 flex-1 overflow-y-auto pr-1 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-white/[0.08] hover:[&::-webkit-scrollbar-thumb]:bg-white/15`,children:[K.map(e=>(0,y.jsxs)(`button`,{type:`button`,onClick:()=>{n(e),w(!1),E(``)},className:`flex items-center gap-2 rounded px-2 py-1.5 transition-colors hover:bg-white/[0.06]`,children:[(0,y.jsx)(_,{symbol:e,size:16}),(0,y.jsx)(`span`,{className:`body-sm text-normal`,children:g(e)}),(0,y.jsx)(`span`,{className:`caption text-soft ml-auto tabular-nums`,children:B(e)==null?`—`:o(B(e))})]},e)),K.length===0&&(0,y.jsx)(`span`,{className:`caption text-disabled px-2 py-2`,children:R.length===0?`loading universe…`:`no Hyperliquid market for that`})]})]})]}),(0,y.jsx)(`div`,{className:`flex items-center gap-2`,children:[`long`,`short`].map(e=>{let t=m===e;return(0,y.jsx)(`button`,{type:`button`,onClick:()=>h(e),className:`body-sm flex-1 rounded-md py-1.5 font-bold uppercase tracking-wide transition-colors`,style:{color:t?u(e):`var(--color-soft)`,background:t?`var(--color-surface)`:`rgba(255,255,255,0.03)`,border:`1px solid ${t?u(e)+`55`:`transparent`}`},children:e},e)})}),(0,y.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:S.map((e,t)=>{let n=D===t;return(0,y.jsx)(`button`,{type:`button`,onClick:()=>O(n?null:t),className:`caption rounded-full px-2.5 py-1 transition-colors`,style:{color:n?`var(--color-strong)`:`var(--color-soft)`,background:n?`hsl(var(--zf-accent-hue, 242) 80% 60% / 0.3)`:`rgba(255,255,255,0.04)`,border:`1px solid ${n?`var(--color-accent-line)`:`transparent`}`},children:e.label},e.label)})}),(0,y.jsx)(`input`,{value:k,onChange:e=>A(e.target.value),onKeyDown:e=>e.key===`Enter`&&q(),placeholder:`add a note (optional)`,className:`body-sm w-full rounded-md px-2.5 py-1.5 text-strong outline-none placeholder:text-disabled ${l}`}),W&&(0,y.jsxs)(`span`,{className:`caption`,style:{color:G?`var(--zf-up, #3fd08f)`:`var(--zf-down, #ff6b81)`},children:[`your last `,W.n,` `,p[U.cls],` calls: `,W.hits,`/`,W.n,G?` · your edge`:` · a leak — size down`]}),(0,y.jsxs)(`div`,{className:`mt-auto flex items-center gap-2.5`,children:[(0,y.jsx)(`span`,{className:`caption text-disabled`,children:`how sure`}),(0,y.jsx)(`input`,{type:`range`,min:50,max:95,step:1,value:j,onChange:e=>M(Number(e.target.value)),className:`h-1 flex-1 cursor-pointer`,style:{accentColor:`hsl(var(--zf-accent-hue, 242) 85% 68%)`}}),(0,y.jsxs)(`span`,{className:`body-sm text-strong w-9 tabular-nums`,children:[j,`%`]}),(0,y.jsx)(`button`,{type:`button`,onClick:q,disabled:!U,className:`caption rounded px-3 py-1.5 font-bold uppercase tracking-wide transition-opacity disabled:opacity-40`,style:{color:`var(--color-strong)`,background:N?s+`55`:`hsl(var(--zf-accent-hue, 242) 80% 60% / 0.35)`},children:N?`logged ✓`:`log`})]})]})}var w=m({...h,component:C});export{w as journalLogFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{F as r}from"./hooks-CLLchjg6.js";import{n as i}from"./ui-CYz5SGgR.js";import{s as a,u as o}from"./journal-store-DcqepoPT.js";import{n as s,t as c}from"./journal-ui-CR7uxhyO.js";import{Mt as l,Ri as u}from"./index-9oCCAb1t.js";var d=e(n(),1),f=t();l.schema;function p({config:e}){let{open:t}=o(),[n,l]=(0,d.useState)(()=>Date.now()),u=r(t.map(e=>e.symbol));if((0,d.useEffect)(()=>{let e=window.setInterval(()=>l(Date.now()),1e3);return()=>window.clearInterval(e)},[]),(0,d.useEffect)(()=>{for(let e of t){let t=u[e.symbol];n>=e.resolveAt&&t!=null&&a(e.id,t)}},[n,t,u]),t.length===0)return(0,f.jsx)(c,{children:`no open calls — log a read in Journal · Log`});let p=t.slice(0,e.max);return(0,f.jsx)(`div`,{className:`flex flex-col gap-2 ${i}`,children:p.map(e=>{let t=u[e.symbol];return(0,f.jsx)(s,{call:e,now:n,mid:t,onClose:t==null?void 0:()=>a(e.id,t)},e.id)})})}var m=u({...l,component:p});export{m as journalOpenFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./liveline-BV-xqAVq.js";import{n as t}from"./ui-CYz5SGgR.js";import{u as n}from"./journal-store-DcqepoPT.js";import{r,t as i}from"./journal-ui-CR7uxhyO.js";import{Nt as a,Ri as o}from"./index-9oCCAb1t.js";var s=e();a.schema;function c({config:e}){let{resolved:a}=n();if(a.length===0)return(0,s.jsx)(i,{children:`nothing graded yet — your calls resolve here`});let o=a.slice(0,e.max);return(0,s.jsx)(`div`,{className:`flex flex-col gap-2 ${t}`,children:o.map(e=>(0,s.jsx)(r,{call:e},e.id))})}var l=o({...a,component:c});export{l as journalResultsFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./liveline-BV-xqAVq.js";import{r as t,t as n}from"./format-DWMrfgke.js";import{n as r,t as i,u as a}from"./journal-store-DcqepoPT.js";import{i as o}from"./journal-ui-CR7uxhyO.js";import{Pt as s,Ri as c}from"./index-9oCCAb1t.js";var l=e();s.schema;function u(){let e=Object.keys(r).map(e=>({cls:e,rate:r[e].hits/r[e].n}));return e.sort((e,t)=>t.rate-e.rate),{edge:e[0],leak:e[e.length-1]}}function d(e){let{resolved:s}=a(),{edge:c,leak:d}=u(),f=s.length,p=f?Math.round(s.reduce((e,t)=>e+t.confidence,0)/f):0,m=f?Math.round(s.filter(e=>e.verdict===`hit`).length/f*100):0,h=p-m;return(0,l.jsxs)(`div`,{className:`flex h-full flex-col gap-2`,children:[(0,l.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[(0,l.jsx)(o,{label:`your edge`,value:`${Math.round(c.rate*100)}%`,sub:i[c.cls],color:t}),(0,l.jsx)(o,{label:`your leak`,value:`${Math.round(d.rate*100)}%`,sub:`${i[d.cls]} — size down`,color:n}),(0,l.jsx)(o,{label:`calibration`,value:f?`${p}→${m}`:`—`,sub:f?h>4?`overconfident +${h}`:h<-4?`underconfident ${h}`:`well-calibrated`:`no calls yet`,color:Math.abs(h)>4?`#f4a259`:t})]}),(0,l.jsx)(`div`,{className:`rounded-md px-3 py-2`,style:{background:`hsl(var(--zf-accent-hue, 242) 80% 60% / 0.1)`,border:`1px solid var(--color-accent-line)`},children:(0,l.jsxs)(`p`,{className:`body-sm text-normal leading-snug`,children:[(0,l.jsx)(`span`,{className:`font-semibold text-highlight`,children:`zAI ·`}),` Sharpest on `,i[c.cls],`. You leak on `,i[d.cls],` —`,` `,r[d.cls].hits,`/`,r[d.cls].n,`, and your kill rule tripped on most of them. Size those down.`]})})]})}var f=c({...s,component:d});export{f as journalScoreFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{r as t}from"./liveline-BV-xqAVq.js";import{r as n,t as r}from"./format-DWMrfgke.js";var i=e(t(),1),a={"mean-reversion":`mean-reversion`,breakout:`breakout`,positioning:`positioning`,macro:`macro`},o={BTC:67250,ETH:3540,SOL:146,HYPE:28.4,"xyz:NVDA":128.4,"xyz:TSLA":251,"xyz:AAPL":195,"xyz:MSFT":415,"xyz:AMZN":184};Object.keys(o);var s=36e5;function c(e){return e===`long`?n:r}function l(e,t){return(t-e.entry)/e.entry*100*(e.dir===`long`?1:-1)}function u(e,t){return e.target===e.entry?0:Math.min(1,Math.max(0,(t-e.entry)/(e.target-e.entry)))}function d(e){let t=Math.max(0,Math.round(e/1e3));return t<3600?`${Math.max(1,Math.round(t/60))}m left`:t<86400?`${Math.round(t/3600)}h left`:`${Math.round(t/86400)}d left`}function f(e){let t=e.toLowerCase();return/(funding|squeeze|oversold|overbought|revert|bounce|reclaim range)/.test(t)?`mean-reversion`:/(breakout|break out|reclaim|continuation|new high|momentum|runs)/.test(t)?`breakout`:/(cpi|fomc|rate|macro|jobs|earnings|fed)/.test(t)?`macro`:`positioning`}var p={"mean-reversion":{n:14,hits:9},breakout:{n:9,hits:3},positioning:{n:11,hits:6},macro:{n:6,hits:3}},m={"mean-reversion":72*s,breakout:168*s,positioning:48*s,macro:168*s};function h(e){return e.verdict===`hit`&&e.signalsFired?{label:`thesis played out · skill`,color:n,glyph:`✓`}:e.verdict===`hit`&&!e.signalsFired?{label:`signals never fired · luck, not skill`,color:`#f4a259`,glyph:`⚠`}:e.verdict===`miss`&&e.signalsFired?{label:`mechanism real, got swamped · near-miss`,color:`#f4a259`,glyph:`↺`}:{label:`thesis was wrong · clean miss`,color:r,glyph:`✗`}}var g=[{id:`r1`,symbol:`ETH`,dir:`long`,confidence:60,claim:`Basis reset + spot bid stepping in under 3.4k.`,cls:`mean-reversion`,verdict:`hit`,returnPct:4.2,signalsFired:!0},{id:`r2`,symbol:`xyz:TSLA`,dir:`long`,confidence:75,claim:`Breakout over 250 holds and extends.`,cls:`breakout`,verdict:`miss`,returnPct:-3.1,signalsFired:!1},{id:`r3`,symbol:`BTC`,dir:`short`,confidence:58,claim:`Crowded longs flush on the funding reset.`,cls:`positioning`,verdict:`miss`,returnPct:-2.4,signalsFired:!0},{id:`r4`,symbol:`xyz:AAPL`,dir:`long`,confidence:65,claim:`Gap fill into the print.`,cls:`breakout`,verdict:`hit`,returnPct:1.8,signalsFired:!1}],_=[],v=g,y={open:_,resolved:v},b=new Set;function x(){y={open:_,resolved:v};for(let e of b)e()}function S(e){let t=Date.now(),n=e.cls??f(e.claim),r=e.entry??o[e.sym]??100,i=r*(e.dir===`long`?1.03:.97);_=[{id:`u${t}`,symbol:e.sym,dir:e.dir,confidence:e.confidence,claim:e.claim,cls:n,entry:r,target:i,resolveAt:t+m[n]},..._],x()}function C(e,t){let n=_.find(t=>t.id===e);if(!n)return;let r=l(n,t),i={id:n.id,symbol:n.symbol,dir:n.dir,confidence:n.confidence,claim:n.claim,cls:n.cls,verdict:r>=0?`hit`:`miss`,returnPct:r};_=_.filter(t=>t.id!==e),v=[i,...v],x()}function w(e){return b.add(e),()=>{b.delete(e)}}function T(){return y}function E(){return(0,i.useSyncExternalStore)(w,T,T)}export{c as a,u as c,l as i,d as l,p as n,S as o,h as r,C as s,a as t,E as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./liveline-BV-xqAVq.js";import{p as t,r as n,s as r,t as i}from"./format-DWMrfgke.js";import{t as a}from"./content-shared-CrVCFeOp.js";import{a as o,c as s,i as c,l,r as u,t as d}from"./journal-store-DcqepoPT.js";import{r as f,t as p}from"./index-9oCCAb1t.js";var m=e();function h({dir:e}){return(0,m.jsx)(`span`,{className:`caption rounded px-1.5 py-0.5 font-bold uppercase tracking-wide`,style:{color:o(e),background:`var(--color-surface)`},children:e})}function g({symbol:e}){return(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,m.jsx)(p,{symbol:e,size:16}),(0,m.jsx)(`span`,{className:`body-sm text-strong font-semibold`,children:f(e)})]})}function _({label:e,value:t,sub:n,color:r}){return(0,m.jsxs)(`div`,{className:`flex flex-col gap-0.5 px-2.5 py-2 ${a}`,children:[(0,m.jsx)(`span`,{className:`caption text-soft uppercase tracking-wide`,children:e}),(0,m.jsx)(`span`,{className:`metric-sm font-bold leading-none tabular-nums`,style:{color:r??`var(--color-strong)`},children:t}),n&&(0,m.jsx)(`span`,{className:`caption text-disabled`,children:n})]})}function v({call:e,now:a,mid:u,onClose:f}){let p=o(e.dir),_=u==null?null:c(e,u),v=u==null?0:s(e,u),y=_==null?`var(--color-soft)`:_>=0?n:i;return(0,m.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border border-white/[0.06] bg-white/[0.02] px-3 py-2.5`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(h,{dir:e.dir}),(0,m.jsx)(g,{symbol:e.symbol}),(0,m.jsx)(`span`,{className:`caption text-disabled`,children:`·`}),(0,m.jsxs)(`span`,{className:`caption text-soft tabular-nums`,children:[e.confidence,`%`]}),(0,m.jsx)(`span`,{className:`body-sm ml-auto font-bold tabular-nums`,style:{color:y},children:_==null?`…`:r(_)})]}),(0,m.jsx)(`p`,{className:`body-sm text-normal leading-snug`,children:e.claim}),(0,m.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,m.jsxs)(`div`,{className:`relative h-1.5 rounded-full bg-white/[0.06]`,children:[(0,m.jsx)(`div`,{className:`absolute inset-y-0 left-0 rounded-full opacity-40`,style:{width:`${v*100}%`,background:p}}),(0,m.jsx)(`span`,{className:`absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full ring-2 ring-black/30`,style:{left:`${v*100}%`,background:p}})]}),(0,m.jsxs)(`div`,{className:`caption text-disabled flex items-center justify-between tabular-nums`,children:[(0,m.jsxs)(`span`,{children:[`entry `,t(e.entry)]}),(0,m.jsxs)(`span`,{className:`text-soft`,children:[`now `,u==null?`…`:t(u)]}),(0,m.jsxs)(`span`,{children:[`target `,t(e.target)]})]})]}),(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,m.jsx)(`span`,{className:`caption text-disabled uppercase tracking-wide`,children:d[e.cls]}),(0,m.jsxs)(`span`,{className:`caption text-soft flex items-center gap-2 tabular-nums`,children:[l(e.resolveAt-a),f&&(0,m.jsx)(`button`,{type:`button`,onClick:f,disabled:u==null,className:`caption rounded px-1.5 py-0.5 uppercase tracking-wide transition-opacity hover:text-strong disabled:opacity-40`,style:{background:`var(--color-surface)`},children:`close`})]})]})]})}function y({call:e}){let t=e.verdict===`hit`?n:i,a=e.signalsFired===void 0?null:u(e);return(0,m.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-md border border-white/[0.04] px-3 py-2`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(h,{dir:e.dir}),(0,m.jsx)(g,{symbol:e.symbol}),(0,m.jsxs)(`span`,{className:`caption text-soft tabular-nums`,children:[e.confidence,`%`]}),(0,m.jsx)(`span`,{className:`body-sm ml-auto font-bold tabular-nums`,style:{color:t},children:r(e.returnPct)})]}),(0,m.jsx)(`p`,{className:`body-sm text-soft leading-snug`,children:e.claim}),a?(0,m.jsxs)(`span`,{className:`caption font-medium`,style:{color:a.color},children:[a.glyph,` `,a.label]}):(0,m.jsxs)(`span`,{className:`caption text-disabled uppercase tracking-wide`,children:[e.verdict,` · graded by return`]})]})}function b({children:e}){return(0,m.jsx)(`div`,{className:`body-sm text-soft flex h-full min-h-0 items-center justify-center text-center`,children:e})}export{_ as i,v as n,y as r,b as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{A as r}from"./hooks-CLLchjg6.js";import{f as i}from"./format-DWMrfgke.js";import{t as a}from"./ui-CYz5SGgR.js";import{t as o}from"./multi-series-line-chart-XRttVKf5.js";import{t as s}from"./timeframe-DUDLPk23.js";import{t as c}from"./chart-utils-Ba8AFSZR.js";import{Ft as l,Ri as u}from"./index-9oCCAb1t.js";var d=e(n(),1),f=t();l.schema;var p=`LNS14000000`,m=`LNS11300000`;function h(e,t){return(e??[]).slice(-t).map(e=>({date:new Date(e.time).toISOString(),value:e.value}))}function g({config:e}){let t=new Date().getUTCFullYear(),n=t-2,{series:l,isLoading:u}=r(p,n,t),{series:g,isLoading:_}=r(m,n,t),v=(0,d.useMemo)(()=>[{id:`unemployment`,name:`Unemployment rate`,color:c[3],data:h(l?.points,e.months)},{id:`participation`,name:`Labor-force participation`,color:c[0],data:h(g?.points,e.months)}],[l,g,e.months]);return(u||_)&&v.every(e=>e.data.length===0)?(0,f.jsx)(a,{loading:!0,children:`loading labor-force data…`}):v.every(e=>e.data.length===0)?(0,f.jsx)(a,{children:`no labor-force data yet`}):(0,f.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-1`,children:[(0,f.jsx)(o,{series:v,timeframe:s.YTD,height:250,formatValue:e=>i(e,1)}),(0,f.jsx)(`div`,{className:`caption text-soft text-center`,children:`unemployment vs labor-force participation · monthly, BLS`})]})}var _=u({...l,component:g});export{_ as laborForceFlowFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{A as r}from"./hooks-CLLchjg6.js";import{a as i,c as a,f as o,n as s}from"./format-DWMrfgke.js";import{t as c}from"./ui-CYz5SGgR.js";import{t as l}from"./mini-line-chart-B0Ixv2kC.js";import{It as u,Ri as d}from"./index-9oCCAb1t.js";var f=e(n(),1),p=t();u.schema;var m=`LNS14000000`,h=`CES0000000001`;function g({config:e}){let t=new Date().getUTCFullYear(),n=t-2,{series:u,isLoading:d}=r(m,n,t),{series:g,isLoading:_}=r(h,n,t),v=(0,f.useMemo)(()=>(u?.points??[]).slice(-e.months),[e.months,u?.points]),y=(0,f.useMemo)(()=>v.map(e=>({date:new Date(e.time).toISOString(),value:e.value})),[v]);if(d&&_)return(0,p.jsx)(c,{loading:!0,children:`loading labor data…`});let b=v.at(-1);if(!u||!b)return(0,p.jsx)(c,{children:`no labor data yet`});let x=g?.points.at(-1),S=g?.points.at(-2),C=x&&S?x.value-S.value:null;return(0,p.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col justify-center gap-3`,children:[(0,p.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`div`,{className:`caption text-soft uppercase`,children:`unemployment rate`}),(0,p.jsx)(`div`,{className:`body-sm text-normal`,children:b.date})]}),(0,p.jsx)(`div`,{className:`caption text-soft text-right`,children:`monthly`})]}),(0,p.jsxs)(`div`,{className:`flex items-end justify-between gap-3`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`div`,{className:`metric-xl text-strong leading-none`,children:o(b.value,1)}),(0,p.jsxs)(`div`,{className:`caption text-soft mt-1`,children:[u.source,` · U-3`]})]}),C!==null&&x&&(0,p.jsxs)(`div`,{className:`text-right`,children:[(0,p.jsx)(`div`,{className:`caption text-soft`,children:`nonfarm payrolls`}),(0,p.jsxs)(`div`,{className:`body-md font-bold tabular-nums`,style:{color:i(C)},children:[C>=0?`+`:``,a(C*1e3)]}),(0,p.jsxs)(`div`,{className:`caption text-soft mt-1 tabular-nums`,children:[a(x.value*1e3),` jobs`]})]})]}),(0,p.jsx)(l,{data:y,width:210,height:44,color:s}),(0,p.jsxs)(`div`,{className:`caption text-soft`,children:[u.label,` · `,v.length,` monthly observations`]})]})}var _=d({...u,component:g});export{_ as laborMarketFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./liveline-BV-xqAVq.js";import{k as t}from"./hooks-CLLchjg6.js";import{a as n,o as r,s as i}from"./format-DWMrfgke.js";import{t as a}from"./ui-CYz5SGgR.js";import{Lt as o,Ri as s}from"./index-9oCCAb1t.js";var c=e();o.schema;function l(e,t){return t==null||t===0?null:(e-t)/t*100}function u({label:e,value:t,delta:r}){return(0,c.jsxs)(`div`,{className:`flex flex-col items-center justify-center rounded-md bg-white/[0.04] px-2 py-2 text-center`,children:[(0,c.jsx)(`span`,{className:`metric-sm text-strong leading-none`,children:t}),(0,c.jsx)(`span`,{className:`caption text-soft mt-1`,children:e}),r!==null&&(0,c.jsx)(`span`,{className:`caption mt-0.5 font-bold tabular-nums`,style:{color:n(r)},children:i(r)})]})}function d({config:e}){let{stats:n,isLoading:i}=t();return i?(0,c.jsx)(a,{loading:!0,children:`loading lightning…`}):n?(0,c.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col justify-center gap-2`,children:[(0,c.jsxs)(`div`,{className:`grid grid-cols-3 gap-1.5`,children:[(0,c.jsx)(u,{label:`nodes`,value:n.nodeCount.toLocaleString(`en-US`),delta:l(n.nodeCount,n.prevNodeCount)}),(0,c.jsx)(u,{label:`channels`,value:n.channelCount.toLocaleString(`en-US`),delta:l(n.channelCount,n.prevChannelCount)}),(0,c.jsx)(u,{label:`capacity`,value:r(n.totalCapacity),delta:l(n.totalCapacity,n.prevTotalCapacity)})]}),e.showSplit&&(0,c.jsxs)(`div`,{className:`caption text-soft text-center`,children:[n.clearnetNodes.toLocaleString(`en-US`),` clearnet ·`,` `,n.torNodes.toLocaleString(`en-US`),` tor`]})]}):(0,c.jsx)(a,{children:`no lightning data yet`})}var f=s({...o,component:d});export{f as lightningStatsFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{n as r}from"./ui-CYz5SGgR.js";import{t as i}from"./content-shared-CrVCFeOp.js";import{Ri as a,Rt as o}from"./index-9oCCAb1t.js";var s=e(n(),1),c=t();o.schema;var l=e=>/^https?:\/\//i.test(e);function u(e){for(let t of[e,`https://${e}`])try{let e=new URL(t).hostname;if(e)return e}catch{}return null}function d(e){let t=u(e);return t?`https://www.google.com/s2/favicons?sz=64&domain=${encodeURIComponent(t)}`:null}function f({link:e}){let[t,n]=(0,s.useState)(!1),r=e.icon.trim(),a=r&&l(r)?r:null,o=r&&!a?r:null,u=a??(o?null:d(e.url)),f=u!=null&&!t;return(0,c.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,title:e.url,className:`group flex items-center gap-2 px-2.5 py-2 ${i}`,children:[(0,c.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-md bg-white/[0.06] text-base leading-none`,"aria-hidden":!0,children:o?(0,c.jsx)(`span`,{children:o}):f?(0,c.jsx)(`img`,{src:u,alt:``,className:`h-full w-full object-contain`,loading:`lazy`,referrerPolicy:`no-referrer`,onError:()=>n(!0)}):(0,c.jsx)(`span`,{className:`text-soft font-dmsans font-bold uppercase`,children:e.label.charAt(0)})}),(0,c.jsx)(`span`,{className:`body-sm text-normal min-w-0 flex-1 truncate font-medium group-hover:text-strong`,children:e.label})]})}function p({config:e}){return(0,c.jsx)(`div`,{className:r,children:(0,c.jsx)(`div`,{className:`grid gap-2`,style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:e.links.map((e,t)=>(0,c.jsx)(f,{link:e},`${e.url}-${t}`))})})}var m=a({...o,component:p});export{m as linkGridFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{p as r}from"./hooks-CLLchjg6.js";import{f as i,r as a,t as o}from"./format-DWMrfgke.js";import{t as s}from"./ui-CYz5SGgR.js";import{t as c}from"./bar-chart-CMWrEpFm.js";import{Ri as l,r as u,zt as d}from"./index-9oCCAb1t.js";var f=e(n(),1),p=t();d.schema;function m(e){return`${e>=0?`+`:``}${e.toFixed(1)}bps`}function h({config:e}){let{stats:t,isLoading:n}=r(),l=e.metric,d=(0,f.useMemo)(()=>{let n=[];for(let[e,r]of Object.entries(t))if(l===`spread`){let[t,i]=r.impactPxs??[];if(t===void 0||i===void 0||r.markPx<=0)continue;n.push({label:u(e),value:(i-t)/r.markPx*100})}else{if(r.premium===void 0)continue;n.push({label:u(e),value:r.premium*1e4})}return n.sort((e,t)=>Math.abs(t.value)-Math.abs(e.value)).slice(0,e.limit).sort((e,t)=>t.value-e.value)},[t,l,e.limit]);return n?(0,p.jsx)(s,{loading:!0,children:`loading markets…`}):d.length===0?(0,p.jsx)(s,{children:`no liquidity data yet`}):(0,p.jsxs)(`div`,{className:`flex h-full flex-col justify-center gap-1 text-normal`,children:[(0,p.jsx)(c,{data:d,orientation:`horizontal`,color:a,negativeColor:o,height:Math.max(d.length*24,96),formatValue:l===`spread`?e=>i(e,2):m}),(0,p.jsxs)(`div`,{className:`caption text-soft text-center`,children:[l===`spread`?`impact-price spread, % of mark`:`mark-vs-oracle basis`,` `,`· top `,d.length]})]})}var g=l({...d,component:h});export{g as liquidityBasisBarsFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{r as t}from"./liveline-BV-xqAVq.js";var n=e(t(),1),r=new Set,i;function a(e){return r.add(e),i===void 0&&typeof window<`u`&&(i=setInterval(()=>{for(let e of[...r])e()},1e3)),()=>{r.delete(e),r.size===0&&i!==void 0&&(clearInterval(i),i=void 0)}}function o(e=`200px`){let t=(0,n.useRef)(null),r=(0,n.useRef)(!0);return(0,n.useEffect)(()=>{let n=t.current;if(!n||typeof IntersectionObserver>`u`)return;let i=new IntersectionObserver(e=>{let t=e[0];t&&(r.current=t.isIntersecting)},{rootMargin:e});return i.observe(n),()=>i.disconnect()},[e]),{ref:t,visibleRef:r}}export{o as n,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./rolldown-runtime-Bh1tDfsg.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ee(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var te=/\/+/g;function k(e,t){return typeof e==`object`&&e&&e.key!=null?ee(``+e.key):t.toString(36)}function A(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function j(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,j(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+k(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(te,`$&/`)+`/`),j(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(te,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+k(a,u),c+=j(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+k(a,u++),c+=j(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return j(A(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function M(e,t,n){if(e==null)return e;var r=[],i=0;return j(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function N(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var P=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ne={map:M,forEach:function(e,t,n){M(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return M(e,function(){t++}),t},toArray:function(e){return M(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ne,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:N}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,P)}catch(e){P(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),r=t(((e,t)=>{t.exports=n()})),i=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),a=t(((e,t)=>{t.exports=i()})),o=e(r(),1),s=a();function c(e){let t=e.match(/^#([0-9a-f]{3,8})$/i);if(t){let e=t[1];return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}let n=e.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return n?[+n[1],+n[2],+n[3]]:[128,128,128]}function l(e,t,n,r){return`rgba(${e}, ${t}, ${n}, ${r})`}function u(e,t){let[n,r,i]=c(e),a=t===`dark`;return{line:e,lineWidth:2,fillTop:l(n,r,i,a?.12:.08),fillBottom:l(n,r,i,0),gridLine:a?`rgba(255, 255, 255, 0.06)`:`rgba(0, 0, 0, 0.06)`,gridLabel:a?`rgba(255, 255, 255, 0.4)`:`rgba(0, 0, 0, 0.35)`,dotUp:`#22c55e`,dotDown:`#ef4444`,dotFlat:e,glowUp:`rgba(34, 197, 94, 0.18)`,glowDown:`rgba(239, 68, 68, 0.18)`,glowFlat:l(n,r,i,.12),badgeOuterBg:a?`rgba(40, 40, 40, 0.95)`:`rgba(255, 255, 255, 0.95)`,badgeOuterShadow:a?`rgba(0, 0, 0, 0.4)`:`rgba(0, 0, 0, 0.15)`,badgeBg:e,badgeText:`#ffffff`,dashLine:l(n,r,i,.4),refLine:a?`rgba(255, 255, 255, 0.15)`:`rgba(0, 0, 0, 0.12)`,refLabel:a?`rgba(255, 255, 255, 0.45)`:`rgba(0, 0, 0, 0.4)`,timeLabel:a?`rgba(255, 255, 255, 0.35)`:`rgba(0, 0, 0, 0.3)`,crosshairLine:a?`rgba(255, 255, 255, 0.2)`:`rgba(0, 0, 0, 0.12)`,tooltipBg:a?`rgba(30, 30, 30, 0.95)`:`rgba(255, 255, 255, 0.95)`,tooltipText:a?`#e5e5e5`:`#1a1a1a`,tooltipBorder:a?`rgba(255, 255, 255, 0.1)`:`rgba(0, 0, 0, 0.08)`,bgRgb:a?[10,10,10]:[255,255,255],labelFont:`11px "SF Mono", Menlo, Monaco, "Cascadia Code", monospace`,valueFont:`600 11px "SF Mono", Menlo, monospace`,badgeFont:`500 11px "SF Mono", Menlo, monospace`}}var d=[`#3b82f6`,`#ef4444`,`#22c55e`,`#f59e0b`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#f97316`];function f(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r],a=i.color||d[r%d.length];n.set(i.id,u(a,t))}return n}function p(e,t,n,r=16.67){let i=1-(1-n)**(r/16.67);return e+(t-e)*i}function m(e,t,n,r){let i=1/0,a=-1/0;for(let t of e)t.value<i&&(i=t.value),t.value>a&&(a=t.value);t<i&&(i=t),t>a&&(a=t),n!==void 0&&(n<i&&(i=n),n>a&&(a=n));let o=a-i,s=r?.01:.12,c=o*(r?.02:.1)||(r?.04:.4);if(o<c){let e=(i+a)/2;i=e-c/2,a=e+c/2}else{let e=o*s;i-=e,a+=e}return{min:i,max:a}}function h(e,t=20){if(e.length<5)return`flat`;let n=Math.max(0,e.length-t),r=1/0,i=-1/0;for(let t=n;t<e.length;t++){let n=e[t].value;n<r&&(r=n),n>i&&(i=n)}let a=i-r;if(a===0)return`flat`;let o=e[Math.max(n,e.length-5)].value,s=e[e.length-1].value-o,c=a*.12;return s>c?`up`:s<-c?`down`:`flat`}function g(e,t){if(e.length===0)return null;if(t<=e[0].time)return e[0].value;if(t>=e[e.length-1].time)return e[e.length-1].value;let n=0,r=e.length-1;for(;r-n>1;){let i=n+r>>1;e[i].time<=t?n=i:r=i}let i=e[n],a=e[r],o=a.time-i.time;if(o===0)return i.value;let s=(t-i.time)/o;return i.value+(a.value-i.value)*s}function _(){if(typeof window>`u`)return 1;let e=(navigator.deviceMemory??8)<=4||(navigator.hardwareConcurrency??8)<=4;return Math.min(window.devicePixelRatio||1,e?2:3)}function v(e,t,n,r){e.setTransform(t,0,0,t,0,0)}function y(e,t,n,r){if(r>0){let e=r*t;if(e>=n*.5&&e<=n*4)return r}let i=[[2,2.5,2],[2,2,2.5],[2.5,2,2]],a=1/0;for(let r of i){let i=10**Math.ceil(Math.log10(e)),o=0;for(;i/r[o%3]*t>=n;)i/=r[o%3],o++;i<a&&(a=i)}return a===1/0?e/5:a}function b(e,t){let n=e/t;return Math.abs(n-Math.round(n))<.01}var x=.18,S=.12;function C(e,t,n,r,i,a){let{w:o,h:s,pad:c,valRange:l,minVal:u,maxVal:d,toY:f}=t,m=s-c.top-c.bottom;if(m<=0||l<=0)return;let h=m/l,g=y(l,h,36,i.interval);i.interval=g;let _=g/2,v=_*h,C=v<40?0:v>=60?1:(v-40)/20,w=e=>{let t=Math.min(e-c.top,s-c.bottom-e);return t>=32?1:t<=0?0:t/32},T=new Map,E=Math.ceil(u/_)*_;for(let e=E;e<=d;e+=_){let t=f(e);if(t<c.top-2||t>s-c.bottom+2)continue;let n=(b(e,g)?1:C)*w(t),r=Math.round(e*1e6);T.set(r,n)}for(let[e,t]of i.labels){let n=T.get(e)??0,r=p(t,n,n>=t?x:S,a);Math.abs(r-n)<.02&&(r=n),r<.01&&n===0?i.labels.delete(e):i.labels.set(e,r)}for(let[e,t]of T)i.labels.has(e)||i.labels.set(e,t*x);let D=e.globalAlpha;e.setLineDash([1,3]),e.lineWidth=1,e.font=n.labelFont,e.textAlign=`left`;for(let[t,a]of i.labels){if(a<.02)continue;let i=t/1e6,l=f(i);l<c.top-10||l>s-c.bottom+10||(e.save(),e.globalAlpha=D*a,e.strokeStyle=n.gridLine,e.beginPath(),e.moveTo(c.left,l),e.lineTo(o-c.right,l),e.stroke(),e.fillStyle=n.gridLabel,e.fillText(r(i),o-c.right+8,l+4),e.restore())}e.setLineDash([])}function w(e,t){if(t.length<2)return;if(t.length===2){e.lineTo(t[1][0],t[1][1]);return}let n=t.length,r=Array(n-1),i=Array(n-1);for(let e=0;e<n-1;e++)i[e]=t[e+1][0]-t[e][0],r[e]=i[e]===0?0:(t[e+1][1]-t[e][1])/i[e];let a=Array(n);a[0]=r[0],a[n-1]=r[n-2];for(let e=1;e<n-1;e++)r[e-1]*r[e]<=0?a[e]=0:a[e]=(r[e-1]+r[e])/2;for(let e=0;e<n-1;e++)if(r[e]===0)a[e]=0,a[e+1]=0;else{let t=a[e]/r[e],n=a[e+1]/r[e],i=t*t+n*n;if(i>9){let o=3/Math.sqrt(i);a[e]=o*t*r[e],a[e+1]=o*n*r[e]}}for(let r=0;r<n-1;r++){let n=i[r];e.bezierCurveTo(t[r][0]+n/3,t[r][1]+a[r]*n/3,t[r+1][0]-n/3,t[r+1][1]-a[r+1]*n/3,t[r+1][0],t[r+1][1])}}var T=.07,E=.001;function D(e,t,n,r){return t+n*(Math.sin(e*9.4+r)*.55+Math.sin(e*15.7+r*1.3)*.3+Math.sin(e*4.2+r*.7)*.15)}function O(e){return .22+.08*Math.sin(e/1200*Math.PI)}function ee(e){let t=e.match(/^#([0-9a-f]{3,8})$/i);if(t){let e=t[1];return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),1]}let n=e.match(/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)/);if(n)return[+n[1],+n[2],+n[3],+n[4]];let r=e.match(/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return r?[+r[1],+r[2],+r[3],1]:[128,128,128,1]}function te(e,t,n){if(n<=0)return e;if(n>=1)return t;let[r,i,a,o]=ee(e),[s,c,l,u]=ee(t),d=Math.round(r+(s-r)*n),f=Math.round(i+(c-i)*n),p=Math.round(a+(l-a)*n),m=o+(u-o)*n;return m>=.995?`rgb(${d},${f},${p})`:`rgba(${d},${f},${p},${m.toFixed(3)})`}function k(e,t,n,r,i,a=1,o=1,s){let{h:c,pad:l}=t,u=e.globalAlpha;if(i&&o>.01){e.globalAlpha=u*o;let t=e.createLinearGradient(0,l.top,0,c-l.bottom);t.addColorStop(0,n.fillTop),t.addColorStop(1,n.fillBottom),e.beginPath(),e.moveTo(r[0][0],c-l.bottom),e.lineTo(r[0][0],r[0][1]),w(e,r),e.lineTo(r[r.length-1][0],c-l.bottom),e.closePath(),e.fillStyle=t,e.fill()}e.globalAlpha=u*a,e.beginPath(),e.moveTo(r[0][0],r[0][1]),w(e,r),e.strokeStyle=s??n.line,e.lineWidth=n.lineWidth,e.lineJoin=`round`,e.lineCap=`round`,e.stroke(),e.globalAlpha=u}function A(e,t,n,r,i,a,o,s,c=0,l=1,u=0,d=1,f=!1,p=1){let{h:m,pad:h,toX:g,toY:_,chartW:v,chartH:y}=t,b=e.globalAlpha,x=h.top,S=m-h.bottom,C=e=>Math.max(x,Math.min(S,e)),w=h.top+y/2,ee=y*T,A=u*E,j=l<1?(e,t)=>{let n=Math.max(0,Math.min(1,(t-h.left)/v)),r=Math.abs(n-.5)*2,i=Math.max(0,Math.min(1,(l-r*.4)/.6)),a=D(n,w,ee,A);return a+(e-a)*i}:(e,t)=>e,M=r.map((e,t)=>{let n=g(e.time);return[n,t===r.length-1?j(C(_(i)),n):j(C(_(e.value)),n)]}),N=g(a),P=h.left+v,ne=l<1?N+(P-N)*(1-l):N;if(M.push([ne,j(C(_(i)),ne)]),M.length<2)return;let F=1,I=p;if(l<1){let e=O(u);F=e+(1-e)*l,I=l*p}let L=Math.min(1,l*3)*d,R=l<1||d<1?te(n.gridLabel,n.line,L):void 0,z=s!==null;if(e.save(),e.beginPath(),e.rect(h.left-1,h.top,v+2,y),e.clip(),z?(e.save(),e.beginPath(),e.rect(0,0,s,m),e.clip(),k(e,t,n,M,o,F,I,R),e.restore(),e.save(),e.beginPath(),e.rect(s,0,t.w-s,m),e.clip(),e.globalAlpha=b*(1-c*.6),k(e,t,n,M,o,F,I,R),e.restore()):k(e,t,n,M,o,F,I,R),e.restore(),!f){let r=Math.max(h.top,Math.min(m-h.bottom,_(i))),a=l<1?w+(r-w)*l:r;e.setLineDash([4,4]),e.strokeStyle=n.dashLine,e.lineWidth=1;let o=z?1-c*.2:1;e.globalAlpha=b*(l<1?o*l:o),e.beginPath(),e.moveTo(h.left,a),e.lineTo(t.w-h.right,a),e.stroke(),e.setLineDash([])}e.globalAlpha=b;let re=M[M.length-1];return re[1]=Math.max(10,Math.min(m-10,re[1])),M}var j=1500,M=900;function N(e,t,n){return`rgb(${Math.round(e[0]+(t[0]-e[0])*n)},${Math.round(e[1]+(t[1]-e[1])*n)},${Math.round(e[2]+(t[2]-e[2])*n)})`}function P(e,t,n,r,i=!0,a=0,o=performance.now()){let s=e.globalAlpha,l=a*.7;if(i&&l<.3){let i=o%j/M;if(i<1){let a=9+i*12,o=.35*(1-i)*(1-l*3);e.beginPath(),e.arc(t,n,a,0,Math.PI*2),e.strokeStyle=r.line,e.lineWidth=1.5,e.globalAlpha=s*o,e.stroke()}}let u=c(r.badgeOuterBg);e.save(),e.globalAlpha=s,e.shadowColor=r.badgeOuterShadow,e.shadowBlur=6*(1-l),e.shadowOffsetY=1,e.beginPath(),e.arc(t,n,6.5,0,Math.PI*2),e.fillStyle=r.badgeOuterBg,e.fill(),e.restore(),e.globalAlpha=s,e.beginPath(),e.arc(t,n,3.5,0,Math.PI*2),l>.01?e.fillStyle=N(c(r.line),u,l):e.fillStyle=r.line,e.fill()}function ne(e,t,n,r,i=!0,a=performance.now(),o=3){let s=e.globalAlpha;if(i){let i=a%j/M;if(i<1){let a=9+i*10,o=.3*(1-i);e.beginPath(),e.arc(t,n,a,0,Math.PI*2),e.strokeStyle=r,e.lineWidth=1.5,e.globalAlpha=s*o,e.stroke()}}e.globalAlpha=s,e.beginPath(),e.arc(t,n,o,0,Math.PI*2),e.fillStyle=r,e.fill()}function F(e,t,n,r,i=3){e.beginPath(),e.arc(t,n,i,0,Math.PI*2),e.fillStyle=r,e.fill()}function I(e,t,n,r,i,a,o,s=performance.now()){let c=e.globalAlpha,l=+(r===`up`),u=+(r===`down`),d=a.down<.02,f=a.up<.02;a.up=p(a.up,d?l:0,l>a.up?.08:.04,o),a.down=p(a.down,f?u:0,u>a.down?.08:.04,o),a.up<.01&&(a.up=0),a.down<.01&&(a.down=0),a.up>.99&&(a.up=1),a.down>.99&&(a.down=1);let m=s%1400/1400,h=(r,a)=>{if(a<.01)return;let o=t+19,s=n;e.save(),e.strokeStyle=i.gridLabel,e.lineWidth=2.5,e.lineCap=`round`,e.lineJoin=`round`;for(let t=0;t<2;t++){let n=t*.2,i=.35,l=m-n,u=.3+.7*(l>=0&&l<i?Math.sin(l/i*Math.PI):0);e.globalAlpha=c*a*u;let d=r===-1?-3:3,f=s+r*(t*8-4)+d;e.beginPath(),e.moveTo(o-5,f-r*3.5),e.lineTo(o,f),e.lineTo(o+5,f-r*3.5),e.stroke()}e.restore()};h(-1,a.up),h(1,a.down),e.globalAlpha=c}function L(e,t,n,r,i,a,o,s,c,l,u,d){if(c<.01)return;let{h:f,pad:p,toY:m}=t,h=m(i);e.save(),e.globalAlpha=c*.5,e.strokeStyle=n.crosshairLine,e.lineWidth=1,e.beginPath(),e.moveTo(r,p.top),e.lineTo(r,f-p.bottom),e.stroke(),e.restore();let g=4*Math.min(c*3,1);if(g>.5&&(e.globalAlpha=1,e.beginPath(),e.arc(r,h,g,0,Math.PI*2),e.fillStyle=n.line,e.fill()),c<.1||t.w<300)return;let _=o(i),v=s(a),y=` · `;e.save(),e.globalAlpha=c,e.font=`400 13px "SF Mono", Menlo, monospace`;let b=e.measureText(_).width,x=e.measureText(y).width,S=e.measureText(v).width,C=b+x+S,w=r-C/2,T=p.left+4,E=(u==null?t.w-p.right:u+7)-C;w<T&&(w=T),w>E&&(w=E);let D=p.top+(l??14)+10;e.textAlign=`left`,d&&(e.strokeStyle=n.tooltipBg,e.lineWidth=3,e.lineJoin=`round`,e.strokeText(_,w,D),e.strokeText(y+v,w+b,D)),e.fillStyle=n.tooltipText,e.fillText(_,w,D),e.fillStyle=n.gridLabel,e.fillText(y+v,w+b,D),e.restore()}function R(e,t,n,r,i,a,o,s,c,l,u,d){if(c<.01||a.length===0)return;let{h:f,pad:p,toY:m}=t;e.save(),e.globalAlpha=c*.5,e.strokeStyle=n.crosshairLine,e.lineWidth=1,e.beginPath(),e.moveTo(r,p.top),e.lineTo(r,f-p.bottom),e.stroke(),e.restore();let h=4*Math.min(c*3,1);if(h>.5){e.globalAlpha=1;for(let t of a){let n=m(t.value);e.beginPath(),e.arc(r,n,h,0,Math.PI*2),e.fillStyle=t.color,e.fill()}}if(c<.1||t.w<300)return;e.save(),e.globalAlpha=c,e.font=`400 13px "SF Mono", Menlo, monospace`,e.textAlign=`left`;let g=[{text:s(i),color:n.gridLabel}];for(let e of a){g.push({text:` · `,color:n.gridLabel}),g.push({text:` `,color:e.color,isDot:!0});let t=e.label?`${e.label} `:``;t&&g.push({text:t,color:n.gridLabel}),g.push({text:o(e.value),color:n.tooltipText})}let _=0,v=[];for(let t of g){let n=t.isDot?12:e.measureText(t.text).width;v.push(n),_+=n}let y=r-_/2,b=p.left+4,x=(d==null?t.w-p.right:d+7)-_;y<b&&(y=b),y>x&&(y=x);let S=p.top+(l??14)+10;if(u!==!1){e.strokeStyle=n.tooltipBg,e.lineWidth=3,e.lineJoin=`round`;let t=y;for(let n=0;n<g.length;n++){let r=g[n];r.isDot||e.strokeText(r.text,t,S),t+=v[n]}}let C=y;for(let t=0;t<g.length;t++){let n=g[t];n.isDot?(e.beginPath(),e.arc(C+4,S-4,3.5,0,Math.PI*2),e.fillStyle=n.color,e.fill()):(e.fillStyle=n.color,e.fillText(n.text,C,S)),C+=v[t]}e.restore()}function z(e,t,n,r){let{w:i,h:a,pad:o,toY:s,chartW:c}=t,l=s(r.value);if(l<o.top-10||l>a-o.bottom+10)return;let u=r.label??``;if(u){e.font=`500 11px system-ui, sans-serif`;let t=e.measureText(u).width,r=o.left+c/2;e.strokeStyle=n.refLine,e.lineWidth=1,e.beginPath(),e.moveTo(o.left,l),e.lineTo(r-t/2-8,l),e.stroke(),e.beginPath(),e.moveTo(r+t/2+8,l),e.lineTo(i-o.right,l),e.stroke(),e.fillStyle=n.refLabel,e.textAlign=`center`,e.fillText(u,r,l+4)}else e.strokeStyle=n.refLine,e.lineWidth=1,e.setLineDash([4,4]),e.beginPath(),e.moveTo(o.left,l),e.lineTo(i-o.right,l),e.stroke(),e.setLineDash([])}function re(e){return e<=15?2:e<=30?5:e<=60?10:e<=120?15:e<=300?30:e<=600?60:e<=1800?300:e<=3600?600:e<=14400?1800:e<=43200?3600:e<=86400?7200:e<=604800?86400:604800}var ie=.08;function B(e,t,n,r,i,a,o,s){let{h:c,pad:l,leftEdge:u,rightEdge:d,toX:f}=t,m=l.left,h=t.w-l.right,g=h-m,_=e=>{let t=e-m,n=h-e,r=Math.min(t,n);return r>=50?1:r<=0?0:r/50};e.font=n.labelFont;let v=g/i,y=re(i);for(;y*v<60&&y<i;)y*=2;let b=y>=86400,x;if(b){let e=new Date((u-y)*1e3);e.setHours(0,0,0,0),x=e.getTime()/1e3}else x=Math.ceil((u-y)/y)*y;let S=new Set;for(let e=x;e<=d+y&&S.size<30;e+=y)S.add(Math.round(e*100));for(let e of S){let t=a(e/100),n=o.labels.get(e);n?n.text=t:o.labels.set(e,{alpha:0,text:t})}for(let[e,t]of o.labels){let n=f(e/100),r=S.has(e)?_(n):0,i=p(t.alpha,r,ie,s);Math.abs(i-r)<.02&&(i=r),i<.01&&r===0?o.labels.delete(e):t.alpha=i}let C=e.globalAlpha,w=c-l.bottom;e.strokeStyle=n.gridLine,e.lineWidth=1,e.beginPath(),e.moveTo(m,w),e.lineTo(h,w),e.stroke(),e.textAlign=`center`;let T=[];for(let[t,n]of o.labels){if(n.alpha<.02)continue;let r=f(t/100);if(r<m-20||r>h)continue;let i=e.measureText(n.text).width;T.push({x:r,alpha:n.alpha,text:n.text,w:i})}T.sort((e,t)=>e.x-t.x);let E=[];for(let e of T){let t=e.x-e.w/2;if(E.length>0){let n=E[E.length-1];if(t<n.x+n.w/2+8){e.alpha>n.alpha&&(E[E.length-1]=e);continue}}E.push(e)}for(let t of E)e.save(),e.globalAlpha=C*t.alpha,e.strokeStyle=n.gridLine,e.lineWidth=1,e.beginPath(),e.moveTo(t.x,w),e.lineTo(t.x,w+5),e.stroke(),e.fillStyle=n.timeLabel,e.fillText(t.text,t.x,w+5+14),e.restore()}var V=[34,197,94],ae=[239,68,68];function H(){return{labels:[],spawnTimer:0,smoothSpeed:ce,prevBidTotal:0,prevAskTotal:0,churnRate:0}}var oe=50,U=6,se=40,W=22,ce=60,le=160;function ue(e,t,n){return`rgb(${Math.round(e[0]+(t[0]-e[0])*n)},${Math.round(e[1]+(t[1]-e[1])*n)},${Math.round(e[2]+(t[2]-e[2])*n)})`}function de(e,t,n,r,i,a,o){let{pad:s,h:c,chartH:l}=t,u=i/1e3;if(r.bids.length===0&&r.asks.length===0)return;let d=0,f=0,p=0;for(let[,e]of r.bids)f+=e,e>d&&(d=e);for(let[,e]of r.asks)p+=e,e>d&&(d=e);if(d===0)return;f+p;let m=a.prevBidTotal+a.prevAskTotal,h=0;if(m>0){let e=Math.abs(f-a.prevBidTotal)+Math.abs(p-a.prevAskTotal);h=Math.min(e/m,1)}a.prevBidTotal=f,a.prevAskTotal=p;let g=h>a.churnRate?.3:.05;a.churnRate+=(h-a.churnRate)*g;let _=ce+Math.max(Math.min(o*5,1),a.churnRate)*(le-ce),v=1-.95**(i/16.67);a.smoothSpeed+=(_-a.smoothSpeed)*v;let y=a.smoothSpeed,b=s.left+8,x=c-s.bottom-6,S=s.top,C=n.bgRgb;for(a.spawnTimer+=i;a.spawnTimer>=se&&a.labels.length<oe;){a.spawnTimer-=se;let e=!1;for(let t=0;t<a.labels.length;t++)if(Math.abs(a.labels[t].y-x)<W){e=!0;break}if(e)break;let t=[];for(let[,e]of r.bids)t.push({size:e,green:!0});for(let[,e]of r.asks)t.push({size:e,green:!1});let n=0;for(let e of t)n+=e.size;let i=Math.random()*n,o=t[0];for(let e of t)if(i-=e.size,i<=0){o=e;break}let s=o.size/d;a.labels.push({y:x,text:`+ ${fe(o.size)}`,green:o.green,life:U,maxLife:U,intensity:.5+s*.5})}let w=x-S,T=0;for(let e=0;e<a.labels.length;e++){let t=a.labels[e];if(t.life-=u,t.life<=0)continue;let n=w>0?(t.y-S)/w:1;t.y-=y*(.7+.3*n)*u,!(t.y<S-14)&&(a.labels[T++]=t)}a.labels.length=T;let E=e.globalAlpha;e.save(),e.font=`600 13px "SF Mono", Menlo, monospace`,e.textAlign=`left`,e.textBaseline=`middle`,e.globalAlpha=E;let D=`rgb(${C[0]},${C[1]},${C[2]})`;for(let t=0;t<a.labels.length;t++){let n=a.labels[t],r=n.life/n.maxLife,i=Math.min((1-r)*10,1),o=(n.y-S)/l,s=o<.45?o/.45:1,c=n.intensity*i*s,u=ue(n.green?V:ae,C,1-c);e.strokeStyle=D,e.lineWidth=4,e.lineJoin=`round`,e.strokeText(n.text,b,n.y),e.fillStyle=u,e.fillText(n.text,b,n.y)}e.restore()}function fe(e){return e>=10?`$${Math.round(e)}`:e>=1?`$${e.toFixed(1)}`:`$${e.toFixed(2)}`}function pe(){return{particles:[],cooldown:0,burstCount:0}}var me=80,he=1,G=400,ge=.08,_e=3;function ve(e,t,n,r,i,a,o,s){if(e.cooldown=Math.max(0,e.cooldown-o),t===`flat`||e.cooldown>0)return 0;if(i<ge)return e.burstCount=0,0;if(t===`down`&&s?.downMomentum!==!0||e.burstCount>=_e)return 0;e.cooldown=G;let c=s?.scale??1,l=t===`up`,u=Math.min(i*5,1),d=u>.6?1:[1,.6,.35][e.burstCount]??.35;e.burstCount++;let f=Math.round((12+u*20)*c*d),p=1+u*.8;for(let t=0;t<f&&e.particles.length<me;t++){let t=l?-Math.PI/2:Math.PI/2,i=Math.PI*1.2,o=t+(Math.random()-.5)*i,s=(60+Math.random()*100)*p;e.particles.push({x:n+(Math.random()-.5)*24,y:r+(Math.random()-.5)*8,vx:Math.cos(o)*s,vy:Math.sin(o)*s,life:1,size:(1+Math.random()*1.2)*c*d,color:a})}return d}function ye(e,t,n){if(t.particles.length===0)return;let r=n/1e3;e.save();let i=0;for(let n=0;n<t.particles.length;n++){let a=t.particles[n];a.life-=r/he,!(a.life<=0)&&(a.x+=a.vx*r,a.y+=a.vy*r,a.vx*=.95,a.vy*=.95,e.globalAlpha=a.life*.55,e.fillStyle=a.color,e.beginPath(),e.arc(a.x,a.y,a.size*(.5+a.life*.5),0,Math.PI*2),e.fill(),t.particles[i++]=a)}t.particles.length=i,e.restore()}var be=`#22c55e`,xe=`#ef4444`,Se=[34,197,94],Ce=[239,68,68];function we(e){return`rgb(${Math.round(Ce[0]+(Se[0]-Ce[0])*e)},${Math.round(Ce[1]+(Se[1]-Ce[1])*e)},${Math.round(Ce[2]+(Se[2]-Ce[2])*e)})`}function Te(e){let t=e.match(/^#([0-9a-f]{6})$/i);if(t){let e=t[1];return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}let n=e.match(/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return n?[+n[1],+n[2],+n[3]]:[128,128,128]}function Ee(e,t,n){if(n<=0)return e;if(n>=1)return t;let[r,i,a]=Te(e),[o,s,c]=Te(t);return`rgb(${Math.round(r+(o-r)*n)},${Math.round(i+(s-i)*n)},${Math.round(a+(c-a)*n)})`}function De(e,t){let n=t*(e.chartW/(e.rightEdge-e.leftEdge)),r=Math.max(1,n*.7);return{bodyW:r,wickW:Math.max(.8,Math.min(2,r*.15)),radius:r>6?1.5:0}}function K(e,t,n,r,i,a){if(a<=0||i<a*2){e.rect(t,n,r,i);return}e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.arcTo(t+r,n,t+r,n+a,a),e.lineTo(t+r,n+i-a),e.arcTo(t+r,n+i,t+r-a,n+i,a),e.lineTo(t+a,n+i),e.arcTo(t,n+i,t,n+i-a,a),e.lineTo(t,n+a),e.arcTo(t,n,t+a,n,a),e.closePath()}function q(e,t,n,r,i,a,o,s,c=1,l=-1,u,d=0){if(n.length===0)return;let{toX:f,toY:p}=t,{bodyW:m,wickW:h,radius:g}=De(t,r),_=m/2,v=t.pad.left,y=t.pad.left+t.chartW,b=.12+Math.sin(a*.004)*.08;for(let t of n){let n=f(t.time+r/2);if(n+_<v||n-_>y)continue;let a=t.close>=t.open,x=t.time===i,S=x&&l>=0?we(l):a?be:xe;u&&d>.01&&(S=Ee(S,u,d));let C=x?c:1;if(s>.01&&o>0){let e=n-o;if(e>0){let t=m*1.5,n=Math.min(e/t,1);C*=1-s*.5*n}}let w=e.globalAlpha;e.globalAlpha=w*C;let T=p(Math.max(t.open,t.close)),E=p(Math.min(t.open,t.close)),D=Math.max(1,E-T),O=p(t.high),ee=p(t.low);e.lineCap=`round`,e.strokeStyle=S,T-O>.5&&(e.beginPath(),e.moveTo(n,T),e.lineTo(n,O),e.lineWidth=h,e.stroke()),ee-E>.5&&(e.beginPath(),e.moveTo(n,E),e.lineTo(n,ee),e.lineWidth=h,e.stroke()),e.fillStyle=S,e.beginPath(),K(e,n-_,T,m,D,g),e.fill(),x&&(e.save(),e.globalAlpha=w*C*b,e.shadowColor=S,e.shadowBlur=8,e.fillStyle=S,e.beginPath(),K(e,n-_,T,m,D,g),e.fill(),e.restore()),e.globalAlpha=w}}function Oe(e,t,n,r,i,a=-1){let o=t.toY(r.close);if(o<t.pad.top||o>t.h-t.pad.bottom)return;let s=r.close>=r.open,c=a>=0?we(a):s?be:xe,l=e.globalAlpha;e.save(),e.setLineDash([4,4]),e.strokeStyle=c,e.lineWidth=1,e.globalAlpha=l*(1-i*.3)*.4,e.beginPath(),e.moveTo(t.pad.left,o),e.lineTo(t.w-t.pad.right,o),e.stroke(),e.setLineDash([]),e.restore()}function ke(e,t,n,r,i,a,o,s,c){if(c<.01)return;let{h:l,pad:u}=t;if(e.save(),e.globalAlpha=c*.5,e.strokeStyle=n.crosshairLine,e.lineWidth=1,e.beginPath(),e.moveTo(r,u.top),e.lineTo(r,l-u.bottom),e.stroke(),e.restore(),c<.1||t.w<200)return;let d=i.close>=i.open?be:xe,f=o(i.close),p=s(a);e.save(),e.globalAlpha=c,e.font=`400 13px "SF Mono", Menlo, monospace`,e.textAlign=`left`;let m;if(t.w>=400){let e=o(i.open),t=o(i.high),r=o(i.low);m=[{text:`O `,color:n.gridLabel},{text:e,color:d},{text:` H `,color:n.gridLabel},{text:t,color:d},{text:` L `,color:n.gridLabel},{text:r,color:d},{text:` C `,color:n.gridLabel},{text:f,color:d},{text:` · `,color:n.gridLabel},{text:p,color:n.gridLabel}]}else m=[{text:`C `,color:n.gridLabel},{text:f,color:d},{text:` · `,color:n.gridLabel},{text:p,color:n.gridLabel}];let h=0,g=[];for(let t of m){let n=e.measureText(t.text).width;g.push(n),h+=n}let _=r-h/2,v=u.left+4,y=t.w-u.right-h;_<v&&(_=v),_>y&&(_=y);let b=u.top+24;e.strokeStyle=n.tooltipBg,e.lineWidth=3,e.lineJoin=`round`;let x=_;for(let t=0;t<m.length;t++)e.strokeText(m[t].text,x,b),x+=g[t];x=_;for(let t=0;t<m.length;t++)e.fillStyle=m[t].color,e.fillText(m[t].text,x,b),x+=g[t];e.restore()}function Ae(e,t,n,r,i,a,o,s,c){if(c<.01)return;let{h:l,pad:u}=t,d=t.toY(i);if(e.save(),e.globalAlpha=c*.5,e.strokeStyle=n.crosshairLine,e.lineWidth=1,e.beginPath(),e.moveTo(r,u.top),e.lineTo(r,l-u.bottom),e.stroke(),e.globalAlpha=c*.3,e.beginPath(),e.moveTo(u.left,d),e.lineTo(t.w-u.right,d),e.stroke(),e.restore(),c<.1||t.w<200)return;let f=o(i),p=s(a);e.save(),e.globalAlpha=c,e.font=`400 13px "SF Mono", Menlo, monospace`,e.textAlign=`left`;let m=[{text:f,color:n.line},{text:` · `,color:n.gridLabel},{text:p,color:n.gridLabel}],h=0,g=[];for(let t of m){let n=e.measureText(t.text).width;g.push(n),h+=n}let _=r-h/2,v=u.left+4,y=t.w-u.right-h;_<v&&(_=v),_>y&&(_=y);let b=u.top+24;e.strokeStyle=n.tooltipBg,e.lineWidth=3,e.lineJoin=`round`;let x=_;for(let t=0;t<m.length;t++)e.strokeText(m[t].text,x,b),x+=g[t];x=_;for(let t=0;t<m.length;t++)e.fillStyle=m[t].color,e.fillText(m[t].text,x,b),x+=g[t];e.restore()}function je(e,t,n,r,i,a=1,o=0,s=!1,c){let l=t-r.left-r.right,u=n-r.top-r.bottom,d=r.top+u/2,f=r.left+l/2,p=c??`No data to display`,m=u*T;e.save(),e.font=`400 12px system-ui, -apple-system, sans-serif`;let h=e.measureText(p).width/2+20;if(!s){let t=o*E,n=O(o),s=[];for(let e=0;e<=32;e++){let n=e/32,i=r.left+n*l,a=D(n,d,m,t);s.push([i,a])}e.beginPath(),e.moveTo(s[0][0],s[0][1]),w(e,s),e.strokeStyle=i.gridLabel,e.lineWidth=i.lineWidth,e.globalAlpha=n*a,e.lineCap=`round`,e.lineJoin=`round`,e.stroke()}e.save(),e.globalCompositeOperation=`destination-out`;let g=f-h-30,_=f+h+30,v=e.createLinearGradient(g,0,_,0);v.addColorStop(0,`rgba(0,0,0,0)`),v.addColorStop(30/(_-g),`rgba(0,0,0,1)`),v.addColorStop(1-30/(_-g),`rgba(0,0,0,1)`),v.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=v,e.globalAlpha=a;let y=m*2+i.lineWidth+6;e.fillRect(g,d-y/2,_-g,y),e.restore(),e.textAlign=`center`,e.textBaseline=`middle`,e.globalAlpha=.35*a,e.fillStyle=i.gridLabel,e.fillText(p,f,d),e.restore()}var J=.002,Me=.2,Y=40,X=5;function Ne(){return{amplitude:0}}function Pe(e,t,n,r){let i=r.shakeState,a=0,o=0;if(i&&i.amplitude>Me&&(a=(Math.random()-.5)*2*i.amplitude,o=(Math.random()-.5)*2*i.amplitude,e.save(),e.translate(a,o)),i){let e=J**(r.dt/1e3);i.amplitude*=e,i.amplitude<Me&&(i.amplitude=0)}let s=r.chartReveal,c=r.pauseProgress,l=(e,t)=>{let n=Math.max(0,Math.min(1,(s-e)/(t-e)));return n*n*(3-2*n)};if(r.referenceLine&&s>.01&&(e.save(),s<1&&(e.globalAlpha=s),z(e,t,n,r.referenceLine),e.restore()),r.showGrid){let i=s<1?l(.15,.7):1;i>.01&&(e.save(),i<1&&(e.globalAlpha=i),C(e,t,n,r.formatValue,r.gridState,r.dt),e.restore())}r.orderbookData&&r.orderbookState&&s>.01&&(e.save(),s<1&&(e.globalAlpha=s),de(e,t,n,r.orderbookData,r.dt,r.orderbookState,r.swingMagnitude),e.restore());let u=r.scrubAmount>.05?r.hoverX:null,d=A(e,t,n,r.visible,r.smoothValue,r.now,r.showFill,u,r.scrubAmount,s,r.now_ms);{let i=s<1?l(.15,.7):1;i>.01&&(e.save(),i<1&&(e.globalAlpha=i),B(e,t,n,r.windowSecs,r.targetWindowSecs,r.formatTime,r.timeAxisState,r.dt),e.restore())}if(d&&d.length>0){let a=d[d.length-1],o=r.scrubAmount;if(r.hoverX!==null&&o>0){let e=a[0]-r.hoverX,n=Math.min(80,t.chartW*.3);o=e<X?0:e>=n?r.scrubAmount:(e-X)/(n-X)*r.scrubAmount}let u=s<.3?0:(s-.3)/.7,f=r.showPulse&&s>.6&&c<.5;if(u>.01&&(e.save(),u<1&&(e.globalAlpha=u),P(e,a[0],a[1],n,f,o,r.now_ms),e.restore()),r.showMomentum){let t=(s<1?l(.6,1):1)*(1-c);t>.01&&(e.save(),t<1&&(e.globalAlpha=t),I(e,a[0],a[1],r.momentum,n,r.arrowState,r.dt,r.now_ms),e.restore())}if(r.particleState&&s>.9){let t=ve(r.particleState,r.momentum,a[0],a[1],r.swingMagnitude,n.line,r.dt,r.particleOptions);t>0&&i&&(i.amplitude=(3+r.swingMagnitude*4)*t),ye(e,r.particleState,r.dt)}}let f=Y;e.save(),e.globalCompositeOperation=`destination-out`;let p=e.createLinearGradient(t.pad.left,0,t.pad.left+f,0);if(p.addColorStop(0,`rgba(0, 0, 0, 1)`),p.addColorStop(1,`rgba(0, 0, 0, 0)`),e.fillStyle=p,e.fillRect(0,0,t.pad.left+f,t.h),e.restore(),r.hoverX!==null&&r.hoverValue!==null&&r.hoverTime!==null&&d&&d.length>0){let i=d[d.length-1],a=i[0]-r.hoverX,o=Math.min(80,t.chartW*.3),s=a<X?0:a>=o?r.scrubAmount:(a-X)/(o-X)*r.scrubAmount;s>.01&&L(e,t,n,r.hoverX,r.hoverValue,r.hoverTime,r.formatValue,r.formatTime,s,r.tooltipY,i[0],r.tooltipOutline)}i&&(a!==0||o!==0)&&e.restore()}function Fe(e,t,n){let r=n.primaryPalette,i=n.chartReveal,a=(e,t)=>{let n=Math.max(0,Math.min(1,(i-e)/(t-e)));return n*n*(3-2*n)};if(n.referenceLine&&i>.01&&(e.save(),i<1&&(e.globalAlpha=i),z(e,t,r,n.referenceLine),e.restore()),n.showGrid){let o=i<1?a(.15,.7):1;o>.01&&(e.save(),o<1&&(e.globalAlpha=o),C(e,t,r,n.formatValue,n.gridState,n.dt),e.restore())}let o=n.scrubAmount>.05?n.hoverX:null,s=[];for(let r=0;r<n.series.length;r++){let a=n.series[r],c=a.alpha??1,l=(r>0&&i<1?Math.min(1,i*2):1)*c;if(l<.01)continue;e.save(),l<1&&(e.globalAlpha=l);let u=A(e,t,a.palette,a.visible,a.smoothValue,n.now,!1,o,n.scrubAmount,i,n.now_ms);e.restore(),u&&u.length>0&&s.push({pts:u,palette:a.palette,label:a.label,alpha:c})}{let o=i<1?a(.15,.7):1;o>.01&&(e.save(),o<1&&(e.globalAlpha=o),B(e,t,r,n.windowSecs,n.targetWindowSecs,n.formatTime,n.timeAxisState,n.dt),e.restore())}if(i>.3&&s.length>0){let t=(i-.3)/.7,r=n.showPulse&&i>.6&&n.pauseProgress<.5;for(let i of s){if(i.alpha<.01)continue;let a=i.pts[i.pts.length-1];e.save(),e.globalAlpha=t*i.alpha,r&&i.alpha>.5?ne(e,a[0],a[1],i.palette.line,!0,n.now_ms,3):F(e,a[0],a[1],i.palette.line,3),i.label&&(e.font=`600 10px -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif`,e.textAlign=`left`,e.fillStyle=i.palette.line,e.fillText(i.label,a[0]+6,a[1]+3.5)),e.restore()}}e.save(),e.globalCompositeOperation=`destination-out`;let c=e.createLinearGradient(t.pad.left,0,t.pad.left+Y,0);if(c.addColorStop(0,`rgba(0, 0, 0, 1)`),c.addColorStop(1,`rgba(0, 0, 0, 0)`),e.fillStyle=c,e.fillRect(0,0,t.pad.left+Y,t.h),e.restore(),n.hoverX!==null&&n.hoverTime!==null&&n.hoverEntries.length>0&&s.length>0&&n.scrubAmount>.01){let i=0;for(let e of s){if(e.alpha<.01)continue;let t=e.pts[e.pts.length-1][0];t>i&&(i=t)}let a=i-n.hoverX,o=Math.min(80,t.chartW*.3),c=a<X?0:a>=o?n.scrubAmount:(a-X)/(o-X)*n.scrubAmount;c>.01&&R(e,t,r,n.hoverX,n.hoverTime,n.hoverEntries,n.formatValue,n.formatTime,c,n.tooltipY,n.tooltipOutline,i)}}function Ie(e,t,n,r){let{w:i,h:a,pad:o,chartW:s,chartH:c}=t,l=r.chartReveal,u=r.lineModeProg>=.99,d=u?1-l:(1-l)*(1-l)*(1-l),f=Math.max(r.lineModeProg,d),p=f>.001?r.lineModeProg/f:1,m=(e,t)=>{let n=Math.max(0,Math.min(1,(l-e)/(t-e)));return n*n*(3-2*n)},h=m(.25,.6);r.showGrid&&h>.01&&(e.save(),h<1&&(e.globalAlpha=h),C(e,t,n,r.formatValue,r.gridState,r.dt),e.restore());let g;if(f>.01&&r.lineVisible.length>=2){let i=r.scrubAmount>.05?r.hoverX:null;e.save(),e.globalAlpha=f,g=A(e,t,n,r.lineVisible,r.lineSmoothValue,r.now,r.lineModeProg>.01,i,r.scrubAmount,r.chartReveal,r.now_ms,p,!u,r.lineModeProg),e.restore()}let _=m(.4,.8),v=r.closePriceCandle??r.liveCandle;if(v&&_>.01&&(f<.99&&(e.save(),e.globalAlpha=_*(1-f),Oe(e,t,n,v,r.scrubAmount,r.liveBullBlend),e.restore()),f>.01&&!u)){let s=t.toY(v.close);s>=o.top&&s<=a-o.bottom&&(e.save(),e.setLineDash([4,4]),e.strokeStyle=n.dashLine,e.lineWidth=1,e.globalAlpha=_*f*(1-r.scrubAmount*.2),e.beginPath(),e.moveTo(o.left,s),e.lineTo(i-o.right,s),e.stroke(),e.setLineDash([]),e.restore())}let y=r.chartReveal*(1-f);if(y>.01){let i=l*l*(3-2*l),a=e=>i>=.99?e:{time:e.time,open:e.close+(e.open-e.close)*i,high:e.close+(e.high-e.close)*i,low:e.close+(e.low-e.close)*i,close:e.close},u=i<.99?r.candles.map(a):r.candles,d=i<.99&&r.oldCandles.length>0?r.oldCandles.map(a):r.oldCandles;e.save(),e.beginPath(),e.rect(o.left-1,o.top,s+2,c),e.clip();let p=f>.01?n.line:void 0;r.morphT>=0&&d.length>0?(e.globalAlpha=(1-r.morphT)*y,q(e,t,d,r.oldWidth,-1,r.now_ms,r.hoverX??0,r.scrubAmount,1,-1,p,f),e.globalAlpha=r.morphT*y,q(e,t,u,r.displayCandleWidth,r.liveCandle?.time??-1,r.now_ms,r.hoverX??0,r.scrubAmount,r.liveBirthAlpha,r.liveBullBlend,p,f),e.globalAlpha=1):(y<1&&(e.globalAlpha=y),q(e,t,u,r.displayCandleWidth,r.liveCandle?.time??-1,r.now_ms,r.hoverX??0,r.scrubAmount,r.liveBirthAlpha,r.liveBullBlend,p,f)),e.restore()}if(f>.5&&g&&g.length>0&&l>.3){let t=g[g.length-1],i=(f-.5)*2*((l-.3)/.7),a=f>.8&&l>.6;i>.01&&(e.save(),e.globalAlpha=i,P(e,t[0],t[1],n,a,r.scrubAmount,r.now_ms),e.restore())}let b=m(.25,.6);b>.01&&(e.save(),b<1&&(e.globalAlpha=b),B(e,t,n,r.targetWindowSecs,r.targetWindowSecs,r.formatTime,r.timeAxisState,r.dt),e.restore()),e.save(),e.globalCompositeOperation=`destination-out`;let x=e.createLinearGradient(o.left,0,o.left+Y,0);if(x.addColorStop(0,`rgba(0, 0, 0, 1)`),x.addColorStop(1,`rgba(0, 0, 0, 0)`),e.fillStyle=x,e.fillRect(0,0,o.left+Y,a),e.restore(),r.showEmptyOverlay){let t=1-r.chartReveal;if(t>.01){let s=(1-r.loadingAlpha)*t;s>.01&&je(e,i,a,o,n,s,r.now_ms,!0,r.emptyText)}}r.chartReveal>.7&&r.hoveredCandle&&r.hoverX!==null&&r.scrubAmount>.01&&(r.lineModeProg>.5?Ae(e,t,n,r.hoverX,r.hoveredCandle.close,r.hoverTime??0,r.formatValue,r.formatTime,r.scrubAmount):ke(e,t,n,r.hoverX,r.hoveredCandle,r.hoverTime??0,r.formatValue,r.formatTime,r.scrubAmount))}function Le(e,t,n,r,i,a,o=1,s){let c=t-r.left-r.right,l=n-r.top-r.bottom,u=r.top+l/2,d=r.left,f=l*T,p=a*E,m=O(a),h=[];for(let e=0;e<=32;e++){let t=e/32,n=d+t*c,r=D(t,u,f,p);h.push([n,r])}e.save(),e.beginPath(),e.moveTo(h[0][0],h[0][1]),w(e,h),e.strokeStyle=s??i.line,e.lineWidth=i.lineWidth,e.globalAlpha=m*o,e.lineCap=`round`,e.lineJoin=`round`,e.stroke(),e.restore()}function Re(e,t,n,r){let i=t/2;return[`M${n},0`,`L${n+e},0`,`L${n+e},${t}`,`L${n},${t}`,`L0,${i}`,`Z`].join(` `)}function ze(e,t){return[`M0,0`,`L${e},0`,`L${e},${t}`,`L0,${t}`,`Z`].join(` `)}var Z=10,Q=3,Be=5,Ve=2.5,He=16,$=`http://www.w3.org/2000/svg`,Ue=50,We=.12,Ge=.15,Ke=.35,qe=.5,Je=.12,Ye=750,Xe=.05,Ze=.015,Qe=.001,$e=.2,et=[34,197,94],tt=[239,68,68],nt=.14,rt=.09,it=.12,at=.08,ot=.22,st=.14,ct=.1,lt=.25,ut=300,dt=500,ft=.25,pt=350,mt=.08,ht=.2,gt=.001,_t=.15,vt=.2,yt=.015;function bt(e,t,n,r,i,a){let o=Math.abs(e-t),s=r-n||1,c=Math.min(o/s,1);return a?1:i+(1-c)*$e}function xt(e,t,n,r,i,a,o,s,c,l,u){if(t.to!==e.windowSecs){t.from=n,t.to=e.windowSecs,t.startMs=o,t.rangeFromMin=r,t.rangeFromMax=i;let a=s+e.windowSecs*u,d=a-e.windowSecs,f=[];for(let e of c)e.time>=d-2&&e.time<=a&&f.push(e);if(f.length>0){let n=m(f,l,e.referenceLine?.value,e.exaggerate);t.rangeToMin=n.min,t.rangeToMax=n.max}}let d=0,f;if(a||t.startMs===0)f=e.windowSecs;else{let n=o-t.startMs,r=Math.min(n/Ye,1),i=(1-Math.cos(r*Math.PI))/2;d=i;let a=Math.log(t.from),s=Math.log(t.to);f=Math.exp(a+(s-a)*i),r>=1&&(f=e.windowSecs,t.startMs=0,d=0)}return{windowSecs:f,windowTransProgress:d}}function St(e,t,n,r,i,a,o,s,c,l,u,d){if(!t)return{minVal:e.min,maxVal:e.max,valRange:e.max-e.min||.001,targetMin:e.min,targetMax:e.max,displayMin:e.min,displayMax:e.max,rangeInited:!0};if(o)i=c.rangeFromMin+(c.rangeToMin-c.rangeFromMin)*s,a=c.rangeFromMax+(c.rangeToMax-c.rangeFromMax)*s,n=e.min,r=e.max;else{let t=a-i;n=e.min,r=e.max,i=p(i,n,l,d),a=p(a,r,l,d);let o=.5*t/u||.001;Math.abs(i-n)<o&&(i=n),Math.abs(a-r)<o&&(a=r)}return{minVal:i,maxVal:a,valRange:a-i||.001,targetMin:n,targetMax:r,displayMin:i,displayMax:a,rangeInited:!0}}function Ct(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=null,h=null,_=null,v=!1;if(e!==null&&e>=t.left&&e<=n-t.right){let n=r.toX(i),o=Math.min(e,n),l=u+(o-t.left)/f*(d-u),p=g(a,l);p!==null&&(m=p,h=l,_=o,v=!0,s={x:o,value:p,time:l},c.onHover?.({time:l,value:p,x:o,y:r.toY(p)}))}let y=+!!v;l?o=y:(o+=(y-o)*We,o<.01&&(o=0),o>.99&&(o=1));let b=_,x=m,S=h;return!v&&o>0&&s&&(b=s.x,x=s.value,S=s.time),{hoverX:b,hoverValue:x,hoverTime:S,scrubAmount:o,isActiveHover:v,lastHover:s}}function wt(e,t,n,r,i,a,o,s,c,l,u,d=1){if(!t.showBadge||d<.25)return e.container.style.display=`none`,a;e.container.style.display=``;let f=d<.5?(d-.25)/.25:1;e.container.style.opacity=f<1?String(f):``;let{w:m,h,pad:g}=r,_=t.formatValue(n);e.text.textContent=_,e.text.style.font=t.palette.labelFont,e.text.style.lineHeight=`${He}px`;let v=t.badgeTail?Be:0;e.text.style.padding=`${Q}px ${Z}px ${Q}px ${v+Z}px`,l.font=t.palette.labelFont;let y=_.replace(/[0-9]/g,`8`),b=l.measureText(y).width;e.targetW=b,e.displayW===0&&(e.displayW=b),e.displayW=p(e.displayW,e.targetW,Ge,u),Math.abs(e.displayW-e.targetW)<.3&&(e.displayW=e.targetW);let x=e.displayW+Z*2,S=He+Q*2,C=v+x;e.svg.setAttribute(`width`,String(Math.ceil(C))),e.svg.setAttribute(`height`,String(S)),e.svg.setAttribute(`viewBox`,`0 0 ${C} ${S}`),e.path.setAttribute(`d`,t.badgeTail?Re(x,S,Be,Ve):ze(x,S));let w=g.top+r.chartH/2,T=Math.max(g.top,Math.min(h-g.bottom,r.toY(n))),E=d<1?w+(T-w)*d:T;a=a===null||c?E:p(a,E,s?qe:Ke,u);let D=m-g.right-Z-v,O=a-S/2;if(e.container.style.transform=`translate3d(${D}px, ${O}px, 0)`,t.badgeVariant===`minimal`)e.path.setAttribute(`fill`,t.palette.badgeOuterBg),e.text.style.color=t.palette.tooltipText,e.container.style.filter=`drop-shadow(0 1px 4px ${t.palette.badgeOuterShadow})`;else{e.container.style.filter=``,e.text.style.color=`#fff`;let n=o,r;if(!t.showMomentum)r=t.palette.line;else{let e=i===`up`?1:i===`down`?0:n.green;n.green=c?e:p(n.green,e,Je,u),n.green>.99&&(n.green=1),n.green<.01&&(n.green=0);let t=n.green;r=`rgb(${Math.round(tt[0]+(et[0]-tt[0])*t)},${Math.round(tt[1]+(et[1]-tt[1])*t)},${Math.round(tt[2]+(et[2]-tt[2])*t)})`}e.path.setAttribute(`fill`,r)}return a}function Tt(e){let t=1/0,n=-1/0;for(let r of e)r.low<t&&(t=r.low),r.high>n&&(n=r.high);if(!isFinite(t)||!isFinite(n))return{min:99,max:101};let r=n-t,i=r*.12,a=r*.1||.4;if(r<a){let e=(t+n)/2;return{min:e-a/2,max:e+a/2}}return{min:t-i,max:n+i}}function Et(e,t,n,r){let i=r.leftEdge+(t-r.pad.left)/r.chartW*(r.rightEdge-r.leftEdge),a=0,o=e.length-1;for(;a<=o;){let t=a+o>>1,r=e[t];if(i<r.time)o=t-1;else if(i>=r.time+n)a=t+1;else return r}return null}function Dt(e,t,n,r,i,a,o,s,c){if(!t)return{minVal:e.min,maxVal:e.max,valRange:e.max-e.min||.001,displayMin:e.min,displayMax:e.max,rangeInited:!0};if(i)n=o.rangeFromMin+(o.rangeToMin-o.rangeFromMin)*a,r=o.rangeFromMax+(o.rangeToMax-o.rangeFromMax)*a;else{let t=r-n||1,i=Math.abs(n-e.min),a=Math.abs(r-e.max),o=_t+(1-Math.min((i+a)/t,1))*vt;n=p(n,e.min,o,c),r=p(r,e.max,o,c);let l=.5*t/s||.001;Math.abs(n-e.min)<l&&(n=e.min),Math.abs(r-e.max)<l&&(r=e.max)}return{minVal:n,maxVal:r,valRange:r-n||.001,displayMin:n,displayMax:r,rangeInited:!0}}function Ot(e,t,n,r,i,a,o,s,c,l,u){if(t.to!==e){t.from=n,t.to=e,t.startMs=a,t.rangeFromMin=r,t.rangeFromMax=i;let d=o+e*u,f=d-e,p=[];for(let e of s)e.time+l>=f&&e.time<=d&&p.push(e);if(c&&c.time+l>=f&&c.time<=d&&p.push(c),p.length>0){let e=Tt(p);t.rangeToMin=e.min,t.rangeToMax=e.max}}let d=0,f;if(t.startMs===0)f=e;else{let n=a-t.startMs,r=Math.min(n/Ye,1),i=(1-Math.cos(r*Math.PI))/2;d=i;let o=Math.log(t.from),s=Math.log(t.to);f=Math.exp(o+(s-o)*i),r>=1&&(f=e,t.startMs=0,d=0)}return{windowSecs:f,windowTransProgress:d}}function kt(e,t,n){let r=(0,o.useRef)(n);r.current=n;let i=(0,o.useRef)(n.value),a=(0,o.useRef)(new Map),s=(0,o.useRef)(new Map),c=(0,o.useRef)(0),l=(0,o.useRef)(0),u=(0,o.useRef)(0),d=(0,o.useRef)(0),f=(0,o.useRef)(!1),y=(0,o.useRef)(n.windowSecs),b=(0,o.useRef)({from:n.windowSecs,to:n.windowSecs,startMs:0,rangeFromMin:0,rangeFromMax:0,rangeToMin:0,rangeToMax:0}),x=(0,o.useRef)({up:0,down:0}),S=(0,o.useRef)({interval:0,labels:new Map}),C=(0,o.useRef)({labels:new Map}),w=(0,o.useRef)(H()),T=(0,o.useRef)(pe()),E=(0,o.useRef)(Ne()),D=(0,o.useRef)({green:1}),O=(0,o.useRef)(null),ee=(0,o.useRef)(!1),te=(0,o.useRef)({w:0,h:0}),k=(0,o.useRef)(null),A=(0,o.useRef)(0),j=(0,o.useRef)(0),M=(0,o.useRef)(null),N=(0,o.useRef)(null),P=(0,o.useRef)(0),ne=(0,o.useRef)(null),F=(0,o.useRef)([]),I=(0,o.useRef)(0),L=(0,o.useRef)(0),R=(0,o.useRef)(0),z=(0,o.useRef)([]),re=(0,o.useRef)([]),ie=(0,o.useRef)(0),B=(0,o.useRef)(null),V=(0,o.useRef)(null),ae=(0,o.useRef)(+!!n.loading),oe=(0,o.useRef)(null),U=(0,o.useRef)(1),se=(0,o.useRef)(.5),W=(0,o.useRef)(0),ce=(0,o.useRef)(!1),le=(0,o.useRef)(0),ue=(0,o.useRef)(!1),de=(0,o.useRef)(0),fe=(0,o.useRef)({startMs:0,from:0,to:0}),me=(0,o.useRef)(0),he=(0,o.useRef)({startMs:0,from:0,to:0}),G=(0,o.useRef)(0),ge=(0,o.useRef)(!1),_e=(0,o.useRef)({fromWidth:n.candleWidth??1,toWidth:n.candleWidth??1,startMs:0,rangeFromMin:0,rangeFromMax:0,rangeToMin:0,rangeToMax:0,oldCandles:[],oldWidth:n.candleWidth??1}),ve=(0,o.useRef)({candles:[],width:n.candleWidth??1}),ye=(0,o.useRef)(null),be=(0,o.useRef)(null),xe=(0,o.useRef)(null),Se=(0,o.useRef)(null),Ce=(0,o.useRef)([]),we=(0,o.useRef)(null),Te=(0,o.useRef)([]),Ee=(0,o.useRef)(void 0);(0,o.useEffect)(()=>{let e=t.current;if(!e)return;let n=document.createElement(`div`);n.style.cssText=`position:absolute;top:0;left:0;pointer-events:none;will-change:transform;display:none;z-index:1;`;let r=document.createElementNS($,`svg`);r.style.cssText=`position:absolute;top:0;left:0;`;let i=document.createElementNS($,`path`);r.appendChild(i);let a=document.createElement(`span`);return a.style.cssText=`position:relative;display:block;color:#fff;white-space:nowrap;`,n.appendChild(r),n.appendChild(a),e.appendChild(n),M.current={container:n,svg:r,path:i,text:a,displayW:0,targetW:0},()=>{e.removeChild(n),M.current=null}},[t]),(0,o.useEffect)(()=>{let e=t.current;if(!e)return;let n=new ResizeObserver(e=>{let t=e[0];if(!t)return;let{width:n,height:r}=t.contentRect;te.current={w:n,h:r}});n.observe(e);let r=e.getBoundingClientRect();return te.current={w:r.width,h:r.height},()=>n.disconnect()},[t]),(0,o.useEffect)(()=>{let e=t.current;if(!e)return;let n=t=>{if(!r.current.scrub)return;let n=e.getBoundingClientRect();N.current=t.clientX-n.left},i=()=>{N.current=null,r.current.onHover?.(null)},a=t=>{if(!r.current.scrub||t.touches.length!==1)return;let n=e.getBoundingClientRect();N.current=t.touches[0].clientX-n.left},o=t=>{if(!r.current.scrub||t.touches.length!==1)return;t.preventDefault();let n=e.getBoundingClientRect();N.current=t.touches[0].clientX-n.left},s=()=>{N.current=null,r.current.onHover?.(null)};return e.addEventListener(`mousemove`,n),e.addEventListener(`mouseleave`,i),e.addEventListener(`touchstart`,a,{passive:!0}),e.addEventListener(`touchmove`,o,{passive:!1}),e.addEventListener(`touchend`,s),e.addEventListener(`touchcancel`,s),()=>{e.removeEventListener(`mousemove`,n),e.removeEventListener(`mouseleave`,i),e.removeEventListener(`touchstart`,a),e.removeEventListener(`touchmove`,o),e.removeEventListener(`touchend`,s),e.removeEventListener(`touchcancel`,s)}},[t]),(0,o.useEffect)(()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`);ee.current=e.matches;let t=e=>{ee.current=e.matches};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let De=(0,o.useRef)(!0);(0,o.useEffect)(()=>{let e=()=>{!document.hidden&&De.current&&!A.current&&(A.current=requestAnimationFrame(K))};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),(0,o.useEffect)(()=>{let e=t.current;if(!e)return;let n=new IntersectionObserver(e=>{let t=e[0];t&&(De.current=t.isIntersecting,t.isIntersecting&&!document.hidden&&!A.current&&(A.current=requestAnimationFrame(K)))},{rootMargin:`200px`});return n.observe(e),()=>n.disconnect()},[t]);let K=(0,o.useCallback)(()=>{if(document.hidden||!De.current){A.current=0;return}let t=e.current,{w:n,h:o}=te.current;if(!t||n===0||o===0){A.current=requestAnimationFrame(K);return}let H=r.current,pe=_(),q=performance.now(),Oe=j.current?Math.min(q-j.current,Ue):16.67;j.current=q;let ke=Math.round(n*pe),Ae=Math.round(o*pe);(t.width!==ke||t.height!==Ae)&&(t.width=ke,t.height=Ae,t.style.width=`${n}px`,t.style.height=`${o}px`);let J=k.current;if((!J||J.canvas!==t)&&(J=t.getContext(`2d`),k.current=J),!J){A.current=requestAnimationFrame(K);return}v(J,pe,n,o);let Me=ee.current,X=H.mode===`candle`;if(X)H.paused&&ye.current===null&&(H.candles?.length??0)>0&&(ye.current=H.candles.slice(),be.current=H.liveCandle??null,xe.current=H.lineData?.slice()??null,Se.current=H.lineValue??null),H.paused||(ye.current=null,be.current=null,xe.current=null,Se.current=null);else if(H.isMultiSeries&&H.multiSeries){if(H.paused&&V.current===null){let e=new Map;for(let t of H.multiSeries)t.data.length>=2&&e.set(t.id,{data:t.data.slice(),value:t.value});e.size>0&&(V.current=e)}H.paused||(V.current=null)}else H.paused&&B.current===null&&H.data.length>=2&&(B.current=H.data.slice()),H.paused||(B.current=null);let Ne=X?[]:B.current??H.data,Re=X?ye.current??H.candles??[]:[],ze=H.isMultiSeries&&H.multiSeries?H.multiSeries.some(e=>e.data.length>=2):!1,Z=X?Re.length>=2:ze||Ne.length>=2,Q=H.padding,Be=o-Q.top-Q.bottom,Ve=+!!H.paused;L.current=Me?Ve:p(L.current,Ve,it,Oe),L.current<.005&&(L.current=0),L.current>.995&&(L.current=1);let He=L.current,$=Oe*(1-He),Ge=Oe/1e3;if(R.current+=Ge*He,!H.paused&&R.current>.001){let e=R.current>10?ot:at;R.current=p(R.current,0,e,Oe),R.current<.01&&(R.current=0)}let Ke=+!!H.loading;ae.current=Me?Ke:p(ae.current,Ke,st,Oe),ae.current<.01&&(ae.current=0),ae.current>.99&&(ae.current=1);let qe=ae.current,Je=!H.loading&&Z?1:0;I.current=Me?Je:p(I.current,Je,Je===1?rt:nt,Oe),Math.abs(I.current-Je)<.005&&(I.current=Je);let Ye=I.current;Ye<.01&&(f.current=!1);let et,tt=!1;if(X?et=!Z&&Ye>.005&&Ce.current.length>0:(tt=!Z&&Ye>.005&&re.current.length>0,ze&&H.multiSeries&&(re.current=H.multiSeries.map(e=>({id:e.id,data:e.data.slice(),value:e.value,palette:e.palette,label:e.label}))),Z&&!H.isMultiSeries&&(re.current=[]),et=!tt&&!Z&&Ye>.005&&z.current.length>=2,Z&&!H.isMultiSeries&&(z.current=Ne)),X){let e=fe.current,t=+!!H.lineMode;if(e.to!==t&&(e.from=de.current,e.to=t,e.startMs=q),e.startMs>0){let t=q-e.startMs,n=Math.min(t/dt,1);de.current=e.from+(e.to-e.from)*((1-Math.cos(n*Math.PI))/2),n>=1&&(de.current=e.to,e.startMs=0)}else de.current=e.to}if(!Z&&!et&&!tt){J.clearRect(0,0,n,o);let e=X||H.isMultiSeries||re.current.length>0?H.palette.gridLabel:void 0;qe>.01&&Le(J,n,o,Q,H.palette,q,qe,e),1-qe>.01&&je(J,n,o,Q,H.palette,1-qe,q,!1,H.emptyText),J.save(),J.globalCompositeOperation=`destination-out`;let t=J.createLinearGradient(Q.left,0,Q.left+Y,0);t.addColorStop(0,`rgba(0, 0, 0, 1)`),t.addColorStop(1,`rgba(0, 0, 0, 0)`),J.fillStyle=t,J.fillRect(0,0,Q.left+Y,o),J.restore(),M.current&&(M.current.container.style.display=`none`),A.current=requestAnimationFrame(K);return}if(X){J.clearRect(0,0,n,o);let e=yt;Z&&(ie.current=Date.now()/1e3-R.current);let t=Z||Ye<.005?Date.now()/1e3-R.current:ie.current,r=ye.current?be.current??void 0:H.liveCandle,i=xe.current??H.lineData,a=Se.current??H.lineValue;Z&&i&&i.length>0&&(Te.current=i,Ee.current=a),et&&Te.current.length>0&&(i=Te.current,a=Ee.current);let s=H.candleWidth??1,u=_e.current,d=-1,m;if(u.startMs>0){let e=q-u.startMs,t=Math.min(e/ut,1);d=(1-Math.cos(t*Math.PI))/2,m=Math.exp(Math.log(u.fromWidth)+(Math.log(u.toWidth)-Math.log(u.fromWidth))*d),t>=1&&(m=u.toWidth,u.startMs=0,d=-1)}else m=u.toWidth;if(s!==u.toWidth){u.oldCandles=ve.current.candles,u.oldWidth=ve.current.width,u.fromWidth=m,u.toWidth=s,u.startMs=q,d=0,u.rangeFromMin=c.current,u.rangeFromMax=l.current;let n=y.current,i=t+n*e,a=i-n,o=[];for(let e of Re)e.time+s>=a&&e.time<=i&&o.push(e);if(r&&o.push(r),o.length>0){let e=Tt(o);u.rangeToMin=e.min,u.rangeToMax=e.max}else u.rangeToMin=c.current,u.rangeToMax=l.current}ve.current={candles:H.candles??[],width:s};let g=de.current,_=he.current,v=i&&i.length>0,x=H.lineMode&&g>=.3&&v?1:0;_.to!==x&&(_.from=me.current,_.to=x,_.startMs=q);let w;if(_.startMs>0){let e=q-_.startMs,t=Math.min(e/pt,1);w=_.from+(_.to-_.from)*(1-(1-t)*(1-t)),t>=1&&(w=_.to,_.startMs=0)}else w=_.to;me.current=w;let T=b.current,E=Ot(H.windowSecs,T,y.current,c.current,l.current,q,t,Re,r,s,e);y.current=E.windowSecs;let ee=E.windowSecs,te=E.windowTransProgress,k=T.startMs>0,A=t+ee*e,j=A-ee,F;if(r){let e=oe.current;if(!e||e.time!==r.time)oe.current={time:r.time,open:r.open,high:r.open,low:r.open,close:r.open},U.current=0;else{let e=oe.current;e.open=p(e.open,r.open,lt,$),e.high=p(e.high,r.high,lt,$),e.low=p(e.low,r.low,lt,$),e.close=p(e.close,r.close,lt,$)}U.current=p(U.current,1,.2,$),U.current>.99&&(U.current=1);let t=oe.current,n=+(t.close>=t.open);se.current=p(se.current,n,.12,$),se.current>.99&&(se.current=1),se.current<.01&&(se.current=0),F=t}else oe.current=null,U.current=1,se.current=.5;if(r?ue.current?(le.current=p(le.current,r.close,ft,$),Math.abs(le.current-r.close)<(l.current-c.current||1)*5e-4&&(le.current=r.close)):(le.current=r.close,ue.current=!0):et||(ue.current=!1),r)if(!ce.current)W.current=r.close,ce.current=!0;else{let e=Math.abs(r.close-W.current),t=l.current-c.current||1,n=mt+(1-Math.min(e/t,1))*ht;W.current=p(W.current,r.close,n,$),e<t*gt&&(W.current=r.close)}else et||(ce.current=!1);if(a!==void 0&&v)if(!ge.current)G.current=a,ge.current=!0;else{let e=Math.abs(a-G.current),t=l.current-c.current||1,n=mt+(1-Math.min(e/t,1))*ht;G.current=p(G.current,a,n,$),e<t*gt&&(G.current=a)}else et||(ge.current=!1);let I=[];for(let e of Re)e.time+s>=j&&e.time<=A&&I.push(e);F&&F.time+m>=j&&F.time<=A&&I.push(F);let L=[];if(d>=0&&u.oldCandles.length>0)for(let e of u.oldCandles)e.time+u.oldWidth>=j&&e.time<=A&&L.push(e);Z&&(Ce.current=I,we.current=F??null);let z=et?Ce.current:I,re=et?we.current??void 0:F,B=n-Q.left-Q.right,V=Dt(z.length>0?Tt(z):{min:c.current,max:l.current},f.current,c.current,l.current,k,te,T,Be,$);d>=0&&(V.displayMin=u.rangeFromMin+(u.rangeToMin-u.rangeFromMin)*d,V.displayMax=u.rangeFromMax+(u.rangeToMax-u.rangeFromMax)*d,V.minVal=V.displayMin,V.maxVal=V.displayMax,V.valRange=V.displayMax-V.displayMin||.001),f.current=V.rangeInited,c.current=V.displayMin,l.current=V.displayMax;let{minVal:ae,maxVal:fe,valRange:pe}=V,De={w:n,h:o,pad:Q,chartW:B,chartH:Be,leftEdge:j,rightEdge:A,minVal:ae,maxVal:fe,valRange:pe,toX:e=>Q.left+(e-j)/(A-j)*B,toY:e=>Q.top+(1-(e-ae)/pe)*Be},K=N.current,ke=null,Ae=!1;K!==null&&K>=Q.left&&K<=n-Q.right&&(ke=Et(z,K,m,De),ke&&(Ae=!0));let je=+!!Ae;P.current=p(P.current,je,.12,Oe),P.current<.01&&(P.current=0),P.current>.99&&(P.current=1);let Y=P.current,X=K,Ne=0,Pe=ke;!Ae&&Y>0&&ne.current?(X=ne.current.x,Ne=ne.current.time,Pe=Et(z,ne.current.x,m,De)):Ae&&K!==null&&(Ne=De.leftEdge+(K-Q.left)/B*(De.rightEdge-De.leftEdge),ne.current={x:K,value:ke?.close??0,time:Ne});let Fe=z,Le=L,ze=re;if(g>.01&&ze&&ce.current){let e=ze.close+(W.current-ze.close)*g;ze={...ze,close:e};let t=Fe.length-1;t>=0&&Fe[t].time===ze.time&&(Fe=Fe.slice(),Fe[t]={...Fe[t],close:e})}if(g>.01&&g<.99){let e=e=>{let t=1-g;return{time:e.time,open:e.close+(e.open-e.close)*t,high:e.close+(e.high-e.close)*t,low:e.close+(e.low-e.close)*t,close:e.close}};Fe=Fe.map(e),Le.length>0&&(Le=Le.map(e)),ze&&=e(ze)}let Ve,Ue;if(i&&i.length>0&&(w>.01||g>.05)){let e=[];for(let t of Fe)e.push({t:t.time+m/2,v:t.close});ze&&e.push({t,v:ze.close}),Ve=[];let n=0;for(let t of i){if(t.time<j||t.time>A)continue;for(;n<e.length-2&&e[n+1].t<t.time;)n++;let r;if(e.length===0)r=t.value;else if(e.length===1||t.time<=e[0].t)r=e[0].v;else if(n>=e.length-1)r=e[e.length-1].v;else{let i=e[n],a=e[n+1],o=a.t-i.t,s=o>0?Math.max(0,Math.min(1,(t.time-i.t)/o)):0;r=i.v+(a.v-i.v)*s}let i=r+(t.value-r)*w;Ve.push({time:t.time,value:i})}let r=ge.current?G.current:a??i[i.length-1].value;Ue=W.current+(r-W.current)*w}else Ve=Fe.map(e=>({time:e.time+m/2,value:e.close})),Ue=ce.current?W.current:ze?.close??Fe[Fe.length-1]?.close??0;if(Ye<1&&Ve.length>=2){let e=Ve[0].time,t=A-j;if(e-j>t*.05){let n=Ve[0].value,r=t/32,i=[];for(let t=j;t<e-r*.5;t+=r)i.push({time:t,value:n});Ve=[...i,...Ve]}}if(Ie(J,De,H.palette,{candles:Fe,displayCandleWidth:m,oldCandles:Le,oldWidth:u.oldWidth,morphT:d,liveCandle:ze,closePriceCandle:ue.current&&r?{...r,close:le.current}:r,liveTime:re?.time??-1,liveBirthAlpha:U.current,liveBullBlend:se.current,lineModeProg:g,chartReveal:Ye,now_ms:q,now:t,pauseProgress:He,showGrid:H.showGrid,scrubAmount:Y,hoverX:X,hoverValue:Pe?.close??null,hoverTime:Ne,hoveredCandle:Pe,formatValue:H.formatValue,formatTime:H.formatTime,gridState:S.current,timeAxisState:C.current,dt:$,targetWindowSecs:H.windowSecs,tooltipY:H.tooltipY,tooltipOutline:H.tooltipOutline,lineVisible:Ve,lineSmoothValue:Ue,emptyText:H.emptyText,loadingAlpha:qe,showEmptyOverlay:!(H.loading??!1)&&qe<.01}),M.current)if(g>.5&&H.showBadge){let e=h(Ve);O.current=wt(M.current,H,Ue,De,e,O.current,D.current,k,Me,J,$,Ye);let t=(g-.5)*2;if(M.current.container.style.display!==`none`){let e=M.current.container.style.opacity?parseFloat(M.current.container.style.opacity):1;M.current.container.style.opacity=String(e*t*(1-He))}}else M.current.container.style.display=`none`}else if(H.isMultiSeries&&H.multiSeries&&H.multiSeries.length>0||tt){J.clearRect(0,0,n,o);let e=tt?re.current:H.multiSeries,t=0;if(e.some(e=>e.label)){J.font=`600 10px -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif`;let n=0;for(let t of e)if(t.label){let e=J.measureText(t.label).width;e>n&&(n=e)}t=Math.max(0,n-2)*Ye}let r=n-Q.left-Q.right-t,i=H.showBadge?Xe:Ze;if(!tt){let t=new Set(e.map(e=>e.id));for(let e of a.current.keys())t.has(e)||a.current.delete(e)}let h=e[0],_=b.current;Z&&(ie.current=Date.now()/1e3-R.current);let v=tt?ie.current:Date.now()/1e3-R.current,x=new Map;for(let t of e){let e=a.current.get(t.id);if(e===void 0&&(e=t.value),!tt){let n=bt(t.value,e,c.current,l.current,H.lerpSpeed,Me);e=p(e,t.value,n,$);let r=l.current-c.current||1;Math.abs(e-t.value)<r*Qe&&(e=t.value),a.current.set(t.id,e)}x.set(t.id,e)}let w=H.hiddenSeriesIds,T=s.current;for(let t of e){let e=T.get(t.id)??1,n=+!w?.has(t.id);e=Me?n:p(e,n,ct,$),e<.01&&(e=0),e>.99&&(e=1),T.set(t.id,e)}let E=V.current?.get(h.id)?.data??h.data,D=xt(H,_,y.current,c.current,l.current,Me,q,v,E,x.get(h.id)??h.value,i);if(_.startMs>0&&e.length>1){let t=v+H.windowSecs*i,n=t-H.windowSecs,r=1/0,a=-1/0;for(let i of e){let e=V.current?.get(i.id)?.data??i.data,o=x.get(i.id)??i.value,s=[];for(let r of e)r.time>=n-2&&r.time<=t&&s.push(r);if(s.length>0){let e=m(s,o,H.referenceLine?.value,H.exaggerate);e.min<r&&(r=e.min),e.max>a&&(a=e.max)}}isFinite(r)&&isFinite(a)&&(_.rangeToMin=r,_.rangeToMax=a)}y.current=D.windowSecs;let O=D.windowSecs,ee=D.windowTransProgress,te=_.startMs>0,k=v+O*i,j=k-O,I=k-(k-v)*He,L=[],z=1/0,B=-1/0;for(let t of e){let e=V.current?.get(t.id)?.data??t.data,n=[];for(let t of e)t.time>=j-2&&t.time<=I&&n.push(t);let r=x.get(t.id)??t.value,i=T.get(t.id)??1;if(n.length>=2){if(i>.01){let e=m(n,r,H.referenceLine?.value,H.exaggerate);e.min<z&&(z=e.min),e.max>B&&(B=e.max)}L.push({visible:n,smoothValue:r,palette:t.palette,label:t.label,alpha:i})}}if(L.length===0){qe>.01&&Le(J,n,o,Q,H.palette,q,qe,H.palette.gridLabel),1-qe>.01&&je(J,n,o,Q,H.palette,1-qe,q,!1,H.emptyText),J.save(),J.globalCompositeOperation=`destination-out`;let e=J.createLinearGradient(Q.left,0,Q.left+Y,0);e.addColorStop(0,`rgba(0, 0, 0, 1)`),e.addColorStop(1,`rgba(0, 0, 0, 0)`),J.fillStyle=e,J.fillRect(0,0,Q.left+Y,o),J.restore(),M.current&&(M.current.container.style.display=`none`),A.current=requestAnimationFrame(K);return}let ae={min:isFinite(z)?z:0,max:isFinite(B)?B:1},oe=H.lerpSpeed+$e*.5,U=St(ae,f.current,u.current,d.current,c.current,l.current,te,ee,_,oe,Be,$);f.current=U.rangeInited,u.current=U.targetMin,d.current=U.targetMax,c.current=U.displayMin,l.current=U.displayMax;let{minVal:se,maxVal:W,valRange:ce}=U,le={w:n,h:o,pad:Q,chartW:r,chartH:Be,leftEdge:j,rightEdge:k,minVal:se,maxVal:W,valRange:ce,toX:e=>Q.left+(e-j)/(k-j)*r,toY:e=>Q.top+(1-(e-se)/ce)*Be},ue=N.current,de=null,fe=null,pe=!1,me=[];if(ue!==null&&ue>=Q.left&&ue<=n-Q.right){let e=le.toX(v),t=Math.min(ue,e),n=j+(t-Q.left)/r*(k-j);de=t,fe=n,pe=!0;for(let e of L){if((e.alpha??1)<.5)continue;let t=g(e.visible,n);t!==null&&me.push({color:e.palette.line,label:e.label??``,value:t})}ne.current={x:t,value:me[0]?.value??0,time:n},F.current=me,H.onHover?.({time:n,value:me[0]?.value??0,x:t,y:le.toY(me[0]?.value??0)})}let he=+!!pe;Me?P.current=he:(P.current+=(he-P.current)*We,P.current<.01&&(P.current=0),P.current>.99&&(P.current=1)),!pe&&P.current>0&&ne.current&&(de=ne.current.x,fe=ne.current.time,me=F.current),Fe(J,le,{series:L,now:v,showGrid:H.showGrid,showPulse:H.showPulse,referenceLine:H.referenceLine,hoverX:de,hoverTime:fe,hoverEntries:me,scrubAmount:P.current,windowSecs:O,formatValue:H.formatValue,formatTime:H.formatTime,gridState:S.current,timeAxisState:C.current,dt:Oe,targetWindowSecs:H.windowSecs,tooltipY:H.tooltipY,tooltipOutline:H.tooltipOutline,chartReveal:Ye,pauseProgress:He,now_ms:q,primaryPalette:H.palette});let G=1-Ye;if(G>.01&&Je===0&&!H.loading){let e=(1-qe)*G;e>.01&&je(J,n,o,Q,H.palette,e,q,!0,H.emptyText)}M.current&&(M.current.container.style.display=`none`)}else{let e=et?z.current:Ne,t=bt(H.value,i.current,c.current,l.current,H.lerpSpeed,Me);if(!et&&(i.current=p(i.current,H.value,t,$),He<.5)){let e=l.current-c.current||1;Math.abs(i.current-H.value)<e*Qe&&(i.current=H.value)}let r=i.current,a=n-Q.left-Q.right,s=H.showBadge?Xe:Ze,g=H.showMomentum&&H.showBadge?Math.max(s,52/Math.max(a,1)):s,_=b.current;Z&&(ie.current=Date.now()/1e3-R.current);let v=et?ie.current:Date.now()/1e3-R.current,ee=xt(H,_,y.current,c.current,l.current,Me,q,v,e,r,g);y.current=ee.windowSecs;let te=ee.windowSecs,k=ee.windowTransProgress,j=v+te*g,F=j-te,I=j-(j-v)*He,L=[];for(let t of e)t.time>=F-2&&t.time<=I&&L.push(t);if(L.length<2){M.current&&(M.current.container.style.display=`none`),A.current=requestAnimationFrame(K);return}J.clearRect(0,0,n,o);let re=m(L,r,H.referenceLine?.value,H.exaggerate),B=_.startMs>0,V=St(re,f.current,u.current,d.current,c.current,l.current,B,k,_,t,Be,$);f.current=V.rangeInited,u.current=V.targetMin,d.current=V.targetMax,c.current=V.displayMin,l.current=V.displayMax;let{minVal:ae,maxVal:oe,valRange:U}=V,se={w:n,h:o,pad:Q,chartW:a,chartH:Be,leftEdge:F,rightEdge:j,minVal:ae,maxVal:oe,valRange:U,toX:e=>Q.left+(e-F)/(j-F)*a,toY:e=>Q.top+(1-(e-ae)/U)*Be},W=H.momentumOverride??h(L),ce=Ct(N.current,Q,n,se,v,L,P.current,ne.current,H,Me,F,j,a,Oe);P.current=ce.scrubAmount,ne.current=ce.lastHover;let{hoverX:le,hoverValue:ue,hoverTime:de}=ce,fe=Math.min(5,L.length-1),pe=fe>0?Math.abs(L[L.length-1].value-L[L.length-1-fe].value):0,me=U>0?Math.min(pe/U,1):0;Pe(J,se,H.palette,{visible:L,smoothValue:r,now:v,momentum:W,arrowState:x.current,showGrid:H.showGrid,showMomentum:H.showMomentum,showPulse:H.showPulse,showFill:H.showFill,referenceLine:H.referenceLine,hoverX:le,hoverValue:ue,hoverTime:de,scrubAmount:P.current,windowSecs:te,formatValue:H.formatValue,formatTime:H.formatTime,gridState:S.current,timeAxisState:C.current,dt:Oe,targetWindowSecs:H.windowSecs,tooltipY:H.tooltipY,tooltipOutline:H.tooltipOutline,orderbookData:H.orderbookData,orderbookState:H.orderbookData?w.current:void 0,particleState:H.degenOptions?T.current:void 0,particleOptions:H.degenOptions,swingMagnitude:me,shakeState:H.degenOptions?E.current:void 0,chartReveal:Ye,pauseProgress:He,now_ms:q});let he=1-Ye;if(he>.01&&Je===0&&!H.loading){let e=(1-qe)*he;e>.01&&je(J,n,o,Q,H.palette,e,q,!0,H.emptyText)}let G=M.current;if(G&&(O.current=wt(G,H,r,se,W,O.current,D.current,B,Me,J,$,Ye),He>.01&&G.container.style.display!==`none`)){let e=G.container.style.opacity?parseFloat(G.container.style.opacity):1;G.container.style.opacity=String(e*(1-He))}let ge=H.valueDisplayRef?.current;if(ge){let e=H.valueMomentumColor?Math.abs(r):r;if(ge.textContent=H.formatValue(e),H.valueMomentumColor){let e=W===`up`?`#22c55e`:W===`down`?`#ef4444`:``;e?ge.style.color=e:ge.style.removeProperty(`color`)}}}A.current=requestAnimationFrame(K)},[e]);(0,o.useEffect)(()=>(A.current=requestAnimationFrame(K),()=>cancelAnimationFrame(A.current)),[K])}var At=e=>e.toFixed(2),jt=e=>{let t=new Date(e*1e3);return`${t.getHours().toString().padStart(2,`0`)}:${t.getMinutes().toString().padStart(2,`0`)}:${t.getSeconds().toString().padStart(2,`0`)}`};function Mt({data:e,value:t,series:n,theme:r=`dark`,color:i=`#3b82f6`,window:a=30,grid:c=!0,badge:l=!0,momentum:p=!0,fill:m=!0,scrub:h=!0,loading:g=!1,paused:_=!1,emptyText:v,exaggerate:y=!1,degen:b,badgeTail:x=!0,badgeVariant:S=`default`,showValue:C=!1,valueMomentumColor:w=!1,windows:T,onWindowChange:E,windowStyle:D,tooltipY:O=14,tooltipOutline:ee=!0,orderbook:te,referenceLine:k,formatValue:A=At,formatTime:j=jt,lerpSpeed:M=.08,padding:N,onHover:P,cursor:ne=`crosshair`,pulse:F=!0,mode:I=`line`,candles:L,candleWidth:R,liveCandle:z,lineMode:re,lineData:ie,lineValue:B,onModeChange:V,onSeriesToggle:ae,seriesToggleCompact:H=!1,lineWidth:oe,className:U,style:se}){let W=(0,o.useRef)(null),ce=(0,o.useRef)(null),le=(0,o.useRef)(null),ue=(0,o.useRef)(null),de=(0,o.useRef)(new Map),[fe,pe]=(0,o.useState)(null),me=(0,o.useRef)(null),he=(0,o.useRef)(new Map),[G,ge]=(0,o.useState)(null),[_e,ve]=(0,o.useState)(new Set),ye=(0,o.useRef)(n);n&&n.length>0&&(ye.current=n);let be=(0,o.useMemo)(()=>{let e=u(i,r);return oe!=null&&(e.lineWidth=oe),e},[i,r,oe]),xe=r===`dark`,Se=n!=null&&n.length>0,Ce=(ye.current?.length??0)>1,we=(0,o.useMemo)(()=>!n||n.length===0?null:f(n,r),[n,r]),Te=(0,o.useMemo)(()=>{if(!(!n||!we))return n.map((e,t)=>({id:e.id,data:e.data,value:e.value,palette:we.get(e.id)??u(e.color||d[t%d.length],r),label:e.label}))},[n,we,r]),Ee=p!==!1,De=typeof p==`string`?p:void 0,K=l?80:c?54:12,q={top:N?.top??12,right:N?.right??K,bottom:N?.bottom??28,left:N?.left??12},Oe=b!=null&&b!==!1?typeof b==`object`?b:{}:void 0,[ke,Ae]=(0,o.useState)(T&&T.length>0?T[0].secs:a),je=T?ke:a;(0,o.useLayoutEffect)(()=>{if(!T||T.length===0)return;let e=de.current.get(ke),t=ue.current;if(e&&t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();pe({left:r.left-n.left,width:r.width})}},[ke,T]);let J=re?`line`:`candle`;(0,o.useLayoutEffect)(()=>{if(!V)return;let e=he.current.get(J),t=me.current;if(e&&t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();ge({left:r.left-n.left,width:r.width})}},[J,V]);let Me=(0,o.useCallback)(e=>{ve(t=>{let r=new Set(t);if(r.has(e))r.delete(e),ae?.(e,!0);else{if((n?.length??0)-r.size<=1)return t;r.add(e),ae?.(e,!1)}return r})},[n?.length,ae]),Y=D??`default`;kt(W,ce,{data:e,value:t,palette:be,windowSecs:je,lerpSpeed:M,showGrid:c,showBadge:!Se&&l,showMomentum:!Se&&Ee,momentumOverride:De,showFill:!Se&&m,referenceLine:k,formatValue:A,formatTime:j,padding:q,onHover:P,showPulse:F,scrub:h,exaggerate:y,degenOptions:Se?void 0:Oe,badgeTail:x,badgeVariant:S,tooltipY:O,tooltipOutline:ee,valueMomentumColor:w,valueDisplayRef:C?le:void 0,orderbookData:te,loading:g,paused:_,emptyText:v,mode:I,candles:L,candleWidth:R,liveCandle:z,lineMode:re,lineData:ie,lineValue:B,multiSeries:Te,isMultiSeries:Se,hiddenSeriesIds:_e});let X=h?ne:`default`,Ne=xe?`rgba(255,255,255,0.7)`:`rgba(0,0,0,0.55)`,Pe=xe?`rgba(255,255,255,0.25)`:`rgba(0,0,0,0.22)`;return(0,s.jsxs)(s.Fragment,{children:[C&&(0,s.jsx)(`span`,{ref:le,style:{display:`block`,fontSize:20,fontWeight:500,fontFamily:`"SF Mono", Menlo, monospace`,color:xe?`rgba(255,255,255,0.85)`:`#111`,transition:`color 0.3s`,letterSpacing:`-0.01em`,marginBottom:8,paddingTop:4,paddingLeft:q.left}}),(T&&T.length>0||V||Ce)&&(0,s.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,marginBottom:6,marginLeft:q.left},children:[T&&T.length>0&&(0,s.jsxs)(`div`,{ref:ue,style:{position:`relative`,display:`inline-flex`,gap:Y===`text`?4:2,background:Y===`text`?`transparent`:xe?`rgba(255,255,255,0.03)`:`rgba(0,0,0,0.02)`,borderRadius:Y===`rounded`?999:6,padding:Y===`text`?0:Y===`rounded`?3:2},children:[Y!==`text`&&fe&&(0,s.jsx)(`div`,{style:{position:`absolute`,top:Y===`rounded`?3:2,left:fe.left,width:fe.width,height:Y===`rounded`?`calc(100% - 6px)`:`calc(100% - 4px)`,background:xe?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.035)`,borderRadius:Y===`rounded`?999:4,transition:`left 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1)`,pointerEvents:`none`}}),T.map(e=>{let t=e.secs===ke;return(0,s.jsx)(`button`,{ref:t=>{t?de.current.set(e.secs,t):de.current.delete(e.secs)},onClick:()=>{Ae(e.secs),E?.(e.secs)},style:{position:`relative`,zIndex:1,fontSize:11,padding:Y===`text`?`2px 6px`:`3px 10px`,borderRadius:Y===`rounded`?999:4,border:`none`,cursor:`pointer`,fontFamily:`system-ui, -apple-system, sans-serif`,fontWeight:t?600:400,background:`transparent`,color:t?Ne:Pe,transition:`color 0.2s, background 0.15s`,lineHeight:`16px`},children:e.label},e.secs)})]}),V&&(0,s.jsxs)(`div`,{ref:me,style:{position:`relative`,display:`inline-flex`,gap:Y===`text`?4:2,background:Y===`text`?`transparent`:xe?`rgba(255,255,255,0.03)`:`rgba(0,0,0,0.02)`,borderRadius:Y===`rounded`?999:6,padding:Y===`text`?0:Y===`rounded`?3:2},children:[Y!==`text`&&G&&(0,s.jsx)(`div`,{style:{position:`absolute`,top:Y===`rounded`?3:2,left:G.left,width:G.width,height:Y===`rounded`?`calc(100% - 6px)`:`calc(100% - 4px)`,background:xe?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.035)`,borderRadius:Y===`rounded`?999:4,transition:`left 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1)`,pointerEvents:`none`}}),(0,s.jsx)(`button`,{ref:e=>{e?he.current.set(`line`,e):he.current.delete(`line`)},onClick:()=>V(`line`),style:{position:`relative`,zIndex:1,padding:`5px 7px`,borderRadius:Y===`rounded`?999:4,border:`none`,cursor:`pointer`,background:`transparent`,display:`flex`,alignItems:`center`},children:(0,s.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`,children:(0,s.jsx)(`path`,{d:`M1 8.5C2.5 8.5 3 4 5.5 4S7.5 7 8.5 7C9.5 7 10 3.5 11 3.5`,stroke:J===`line`?Ne:Pe,strokeWidth:J===`line`?1.5:1.2,strokeLinecap:`round`,fill:`none`})})}),(0,s.jsx)(`button`,{ref:e=>{e?he.current.set(`candle`,e):he.current.delete(`candle`)},onClick:()=>V(`candle`),style:{position:`relative`,zIndex:1,padding:`5px 7px`,borderRadius:Y===`rounded`?999:4,border:`none`,cursor:`pointer`,background:`transparent`,display:`flex`,alignItems:`center`},children:(0,s.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`,children:[(0,s.jsx)(`line`,{x1:`3.5`,y1:`1`,x2:`3.5`,y2:`11`,stroke:J===`candle`?Ne:Pe,strokeWidth:`1`}),(0,s.jsx)(`rect`,{x:`2`,y:`3`,width:`3`,height:`5`,rx:`0.5`,fill:J===`candle`?Ne:Pe}),(0,s.jsx)(`line`,{x1:`8.5`,y1:`2`,x2:`8.5`,y2:`10`,stroke:J===`candle`?Ne:Pe,strokeWidth:`1`}),(0,s.jsx)(`rect`,{x:`7`,y:`4`,width:`3`,height:`4`,rx:`0.5`,fill:J===`candle`?Ne:Pe})]})})]}),Ce&&(0,s.jsx)(`div`,{style:{display:`inline-flex`,gap:Y===`text`?4:2,background:Y===`text`?`transparent`:xe?`rgba(255,255,255,0.03)`:`rgba(0,0,0,0.02)`,borderRadius:Y===`rounded`?999:6,padding:Y===`text`?0:Y===`rounded`?3:2,opacity:+!!Se,transition:`opacity 0.4s`,pointerEvents:Se?`auto`:`none`},children:(ye.current??[]).map((e,t)=>{let n=_e.has(e.id),r=e.color||d[t%d.length];return(0,s.jsxs)(`button`,{onClick:()=>Me(e.id),style:{position:`relative`,zIndex:1,fontSize:11,padding:H?Y===`text`?`2px 4px`:`5px 7px`:Y===`text`?`2px 6px`:`3px 8px`,borderRadius:Y===`rounded`?999:4,border:`none`,cursor:`pointer`,fontFamily:`system-ui, -apple-system, sans-serif`,fontWeight:500,background:n||Y===`text`?`transparent`:xe?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.035)`,color:n?Pe:Ne,opacity:n?.4:1,transition:`opacity 0.2s, background 0.15s, color 0.2s`,lineHeight:`16px`,display:`flex`,alignItems:`center`,gap:H?0:4},children:[(0,s.jsx)(`span`,{style:{width:H?8:6,height:H?8:6,borderRadius:`50%`,background:r,flexShrink:0,opacity:n?.4:1,transition:`opacity 0.2s`}}),!H&&(e.label??e.id)]},e.id)})})]}),(0,s.jsx)(`div`,{ref:ce,className:U,style:{width:`100%`,height:`100%`,position:`relative`,...se},children:(0,s.jsx)(`canvas`,{ref:W,style:{display:`block`,cursor:X}})})]})}export{a as n,r,Mt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{d as r}from"./hooks-CLLchjg6.js";import{r as i,t as a}from"./format-DWMrfgke.js";import{t as o}from"./ui-CYz5SGgR.js";import{a as s,i as c,s as l}from"./indicators-YksbfYtF.js";import{i as u,n as d,r as f,t as p}from"./cycle-shared-D8LQcBSw.js";import{Bt as m,Ri as h}from"./index-9oCCAb1t.js";var g=e(n(),1),_=t();m.schema;function v(e,t){return e===`4`?u(t,[{upTo:1,zone:{label:`Bottom`,color:i}},{upTo:2,zone:{label:`Normal`,color:d}},{upTo:3.5,zone:{label:`Hot`,color:f}}],{label:`Peak`,color:a}):u(t,[{upTo:.667,zone:{label:`Buy zone`,color:i}},{upTo:2,zone:{label:`Normal`,color:d}},{upTo:3,zone:{label:`Sell ×2–3`,color:f}}],{label:`Sell zone`,color:a})}function y({config:e}){let{history:t,isLoading:n}=r(`btc`),i=(e.years===`4`?4:2)*365,a=(0,g.useMemo)(()=>{let e=t.map(e=>e.value),n=c(e,i),r=[];for(let i=0;i<t.length;i++){let a=n[i];a!==null&&a>0&&r.push({time:t[i].time,value:e[i]/a})}return r},[t,i]);if(n)return(0,_.jsx)(o,{loading:!0,children:`loading MA multiplier…`});if(a.length===0)return(0,_.jsx)(o,{children:`not enough price history yet`});let u=a[a.length-1].value,d=v(e.years,u);return(0,_.jsx)(p,{caption:`Price / ${e.years}Y moving average`,headline:`${u.toFixed(2)}×`,headlineColor:d.color,zone:d,sparkline:s(a,l(e.window)),sparkColor:d.color})}var b=h({...m,component:y});export{b as maMultiplierFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{n as r,t as i}from"./ui-CYz5SGgR.js";import{t as a}from"./metric-row-CqsjSvCI.js";import{Ri as o,Vt as s}from"./index-9oCCAb1t.js";var c=e(n(),1),l=t();s.schema;function u({config:e}){let t=(0,c.useMemo)(()=>{let t=Date.now();return e.events.map(e=>({...e,t:Date.parse(`${e.date}T12:00:00Z`)})).filter(e=>Number.isFinite(e.t)&&e.t>=t-864e5).sort((e,t)=>e.t-t.t).slice(0,e.limit).map(e=>({...e,days:Math.max(0,Math.ceil((e.t-t)/864e5))}))},[e.events,e.limit]);return t.length===0?(0,l.jsx)(i,{children:`no upcoming events`}):(0,l.jsx)(`div`,{className:`${r} flex flex-col`,children:t.map((e,t)=>(0,l.jsx)(a,{label:e.label,meta:new Date(e.t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),value:e.days===0?`today`:`${e.days}d`},t))})}var d=o({...s,component:u});export{d as macroCalendarFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{s as r}from"./hooks-CLLchjg6.js";import{a as i,s as a}from"./format-DWMrfgke.js";import{t as o}from"./bubbles-shared-BgKUWrak.js";import{Ai as s,Ht as c,Ri as l,n as u}from"./index-9oCCAb1t.js";var d=e(n(),1),f=t();c.schema;function p({config:e}){let{entries:t,isLoading:n}=r(),c=s(),l=(0,d.useMemo)(()=>t.filter(e=>e.changePct24h!==void 0&&e.marketCapUsd>0).slice(0,e.limit).map(t=>({id:t.symbol,label:t.symbol,value:e.sizeBy===`change`?Math.max(Math.abs(t.changePct24h),.05):t.marketCapUsd,imageUrl:u(t.symbol),color:i(t.changePct24h),borderColor:i(t.changePct24h),marketCapUsd:t.marketCapUsd,changePct24h:t.changePct24h})),[t,e.limit,e.sizeBy]);return(0,f.jsx)(o,{nodes:l,isLoading:n,loadingText:`loading markets…`,emptyText:`no market data yet`,caption:`area by ${e.sizeBy===`change`?`24h move`:`market cap`} · ring by 24h change · top ${l.length}`,formatTitle:e=>{let t=e;return`${t.label} · ${c.compact(t.marketCapUsd)} mcap · ${a(t.changePct24h)}`}})}var m=l({...c,component:p});export{m as marketBubblesFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{s as r}from"./hooks-CLLchjg6.js";import{s as i}from"./format-DWMrfgke.js";import{t as a}from"./ui-CYz5SGgR.js";import{n as o,t as s}from"./treemap-leaf-f-vE1hUM.js";import{Ai as c,Ri as l,Ut as u}from"./index-9oCCAb1t.js";var d=e(n(),1),f=t();u.schema;function p({width:e,height:t,data:n}){let r=c().compact(n.marketCapUsd);return(0,f.jsx)(s,{width:e,height:t,label:n.id,secondary:r,title:`${n.id} · ${r} mcap · ${i(n.changePct24h)}`})}function m({config:e}){let{entries:t,isLoading:n}=r(),i=(0,d.useMemo)(()=>t.slice(0,e.topN).map(e=>({id:e.symbol,value:e.marketCapUsd,marketCapUsd:e.marketCapUsd,changePct24h:e.changePct24h??0})),[t,e.topN]);return n?(0,f.jsx)(a,{loading:!0,children:`loading market caps…`}):i.length===0?(0,f.jsx)(a,{children:`no market data`}):(0,f.jsx)(o,{data:i,LeafComponent:p,getColorValue:e=>e.changePct24h})}var h=l({...u,component:m});export{h as marketCapTreemapFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[1,2,3,4,5],t=[0,1,2,3,4],n={US:[`2026-01-01`,`2026-01-19`,`2026-02-16`,`2026-04-03`,`2026-05-25`,`2026-06-19`,`2026-07-03`,`2026-09-07`,`2026-11-26`,`2026-12-25`],TSX:[`2026-01-01`,`2026-02-16`,`2026-04-03`,`2026-05-18`,`2026-07-01`,`2026-08-03`,`2026-09-07`,`2026-10-12`,`2026-12-25`,`2026-12-28`],B3:[`2026-01-01`,`2026-02-16`,`2026-02-17`,`2026-04-03`,`2026-04-21`,`2026-05-01`,`2026-06-04`,`2026-09-07`,`2026-10-12`,`2026-11-02`,`2026-11-20`,`2026-12-25`],LSE:[`2026-01-01`,`2026-04-03`,`2026-04-06`,`2026-05-04`,`2026-05-25`,`2026-08-31`,`2026-12-25`,`2026-12-28`],XETRA:[`2026-01-01`,`2026-04-03`,`2026-04-06`,`2026-05-01`,`2026-12-24`,`2026-12-25`,`2026-12-31`],EURONEXT:[`2026-01-01`,`2026-04-03`,`2026-04-06`,`2026-05-01`,`2026-12-25`],SIX:[`2026-01-01`,`2026-01-02`,`2026-04-03`,`2026-04-06`,`2026-05-01`,`2026-05-14`,`2026-05-25`,`2026-12-24`,`2026-12-25`,`2026-12-31`],TSE:[`2026-01-01`,`2026-01-02`,`2026-01-12`,`2026-02-11`,`2026-02-23`,`2026-03-20`,`2026-04-29`,`2026-05-04`,`2026-05-05`,`2026-05-06`,`2026-07-20`,`2026-08-11`,`2026-09-21`,`2026-09-22`,`2026-09-23`,`2026-10-12`,`2026-11-03`,`2026-11-23`,`2026-12-31`],HKEX:[`2026-01-01`,`2026-02-17`,`2026-02-18`,`2026-02-19`,`2026-04-03`,`2026-04-06`,`2026-05-01`,`2026-05-25`,`2026-06-19`,`2026-07-01`,`2026-10-01`,`2026-10-19`,`2026-12-25`],CN:[`2026-01-01`,`2026-02-16`,`2026-02-17`,`2026-02-18`,`2026-02-19`,`2026-02-20`,`2026-02-23`,`2026-02-24`,`2026-04-06`,`2026-05-01`,`2026-05-04`,`2026-05-05`,`2026-06-19`,`2026-10-01`,`2026-10-02`,`2026-10-05`,`2026-10-06`,`2026-10-07`,`2026-10-08`],NSE:[`2026-01-26`,`2026-04-03`,`2026-05-01`,`2026-08-15`,`2026-10-02`,`2026-12-25`],KRX:[`2026-01-01`,`2026-03-01`,`2026-05-05`,`2026-06-06`,`2026-08-15`,`2026-10-03`,`2026-10-09`,`2026-12-25`],SGX:[`2026-01-01`,`2026-05-01`,`2026-08-10`,`2026-12-25`],SET:[`2026-01-01`,`2026-01-02`,`2026-03-03`,`2026-04-06`,`2026-04-13`,`2026-04-14`,`2026-04-15`,`2026-05-01`,`2026-05-04`,`2026-06-01`,`2026-06-03`,`2026-07-28`,`2026-07-29`,`2026-08-12`,`2026-10-13`,`2026-10-23`,`2026-12-07`,`2026-12-10`,`2026-12-31`],ASX:[`2026-01-01`,`2026-01-26`,`2026-04-03`,`2026-04-06`,`2026-04-07`,`2026-04-25`,`2026-06-08`,`2026-12-25`,`2026-12-28`],JSE:[`2026-01-01`,`2026-03-21`,`2026-04-03`,`2026-04-06`,`2026-04-27`,`2026-05-01`,`2026-06-16`,`2026-08-10`,`2026-09-24`,`2026-12-16`,`2026-12-25`],TADAWUL:[`2026-09-23`]},r={NYSE:{code:`NYSE`,name:`New York Stock Exchange`,city:`New York`,country:`US`,website:`https://www.nyse.com`,mark:`NY`,tz:`America/New_York`,open:`09:30`,close:`16:00`,days:e,region:`Americas`,holidayGroup:`US`},NASDAQ:{code:`NASDAQ`,name:`Nasdaq`,city:`New York`,country:`US`,website:`https://www.nasdaq.com`,mark:`NQ`,tz:`America/New_York`,open:`09:30`,close:`16:00`,days:e,region:`Americas`,holidayGroup:`US`},TSX:{code:`TSX`,name:`Toronto Stock Exchange`,city:`Toronto`,country:`CA`,website:`https://www.tsx.com`,mark:`TX`,tz:`America/Toronto`,open:`09:30`,close:`16:00`,days:e,region:`Americas`},B3:{code:`B3`,name:`B3`,city:`São Paulo`,country:`BR`,website:`https://www.b3.com.br/en_us/`,mark:`B3`,tz:`America/Sao_Paulo`,open:`10:00`,close:`17:00`,days:e,region:`Americas`},LSE:{code:`LSE`,name:`London Stock Exchange`,city:`London`,country:`GB`,website:`https://www.londonstockexchange.com`,mark:`LS`,tz:`Europe/London`,open:`08:00`,close:`16:30`,days:e,region:`Europe`},XETRA:{code:`XETRA`,name:`Deutsche Börse Xetra`,city:`Frankfurt`,country:`DE`,website:`https://www.boerse-frankfurt.de/en`,mark:`DX`,tz:`Europe/Berlin`,open:`09:00`,close:`17:30`,days:e,region:`Europe`},EURONEXT:{code:`EURONEXT`,name:`Euronext Paris`,city:`Paris`,country:`FR`,website:`https://www.euronext.com`,mark:`EN`,tz:`Europe/Paris`,open:`09:00`,close:`17:30`,days:e,region:`Europe`},SIX:{code:`SIX`,name:`SIX Swiss Exchange`,city:`Zurich`,country:`CH`,website:`https://www.six-group.com/en/products-services/the-swiss-stock-exchange.html`,mark:`SX`,tz:`Europe/Zurich`,open:`09:00`,close:`17:30`,days:e,region:`Europe`},TSE:{code:`TSE`,name:`Tokyo Stock Exchange`,city:`Tokyo`,country:`JP`,website:`https://www.jpx.co.jp/english/`,mark:`JP`,tz:`Asia/Tokyo`,open:`09:00`,close:`15:30`,days:e,region:`Asia-Pacific`},HKEX:{code:`HKEX`,name:`Hong Kong Exchange`,city:`Hong Kong`,country:`HK`,website:`https://www.hkex.com.hk`,mark:`HK`,tz:`Asia/Hong_Kong`,open:`09:30`,close:`16:00`,days:e,region:`Asia-Pacific`},SSE:{code:`SSE`,name:`Shanghai Stock Exchange`,city:`Shanghai`,country:`CN`,website:`https://english.sse.com.cn`,mark:`SH`,tz:`Asia/Shanghai`,open:`09:30`,close:`15:00`,days:e,region:`Asia-Pacific`,holidayGroup:`CN`},NSE:{code:`NSE`,name:`National Stock Exchange`,city:`Mumbai`,country:`IN`,website:`https://www.nseindia.com`,mark:`NS`,tz:`Asia/Kolkata`,open:`09:15`,close:`15:30`,days:e,region:`Asia-Pacific`},KRX:{code:`KRX`,name:`Korea Exchange`,city:`Seoul`,country:`KR`,website:`https://global.krx.co.kr`,mark:`KR`,tz:`Asia/Seoul`,open:`09:00`,close:`15:30`,days:e,region:`Asia-Pacific`},SGX:{code:`SGX`,name:`Singapore Exchange`,city:`Singapore`,country:`SG`,website:`https://www.sgx.com`,mark:`SG`,tz:`Asia/Singapore`,open:`09:00`,close:`17:00`,days:e,region:`Asia-Pacific`},SET:{code:`SET`,name:`Stock Exchange of Thailand`,city:`Bangkok`,country:`TH`,website:`https://www.set.or.th/en/home`,mark:`SET`,tz:`Asia/Bangkok`,open:`10:00`,close:`16:30`,days:e,region:`Asia-Pacific`},ASX:{code:`ASX`,name:`Australian Securities Exchange`,city:`Sydney`,country:`AU`,website:`https://www.asx.com.au`,mark:`AS`,tz:`Australia/Sydney`,open:`10:00`,close:`16:00`,days:e,region:`Asia-Pacific`},JSE:{code:`JSE`,name:`Johannesburg Stock Exchange`,city:`Johannesburg`,country:`ZA`,website:`https://www.jse.co.za`,mark:`JS`,tz:`Africa/Johannesburg`,open:`09:00`,close:`17:00`,days:e,region:`Middle East / Africa`},TADAWUL:{code:`TADAWUL`,name:`Saudi Exchange`,city:`Riyadh`,country:`SA`,website:`https://www.saudiexchange.sa`,mark:`SA`,tz:`Asia/Riyadh`,open:`10:00`,close:`15:00`,days:t,region:`Middle East / Africa`}},i=[`NYSE`,`NASDAQ`,`LSE`,`XETRA`,`EURONEXT`,`TSE`,`HKEX`,`SSE`,`NSE`,`SET`,`ASX`],a={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6};function o(e,t){let n=new Intl.DateTimeFormat(`en-US`,{timeZone:t,hourCycle:`h23`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,weekday:`short`}),r={};for(let t of n.formatToParts(e))t.type!==`literal`&&(r[t.type]=t.value);return{ymd:`${r.year}-${r.month}-${r.day}`,dow:a[r.weekday]??0,minutes:Number(r.hour)*60+Number(r.minute)+Number(r.second)/60}}function s(e){let[t,n]=e.split(`:`).map(Number);return t*60+n}var c=864e5,l=1440;function u(e,t){let r=n[e.holidayGroup??e.code]??[],i=s(e.open),a=s(e.close),u=o(t,e.tz),d=(t,n)=>e.days.includes(t)&&!r.includes(n),f={code:e.code,name:e.name,city:e.city,country:e.country,website:e.website,mark:e.mark,tz:e.tz,open:e.open,close:e.close,region:e.region};if(d(u.dow,u.ymd)&&u.minutes>=i&&u.minutes<a)return{...f,status:`open`,nextChangeMin:a-u.minutes};let p;if(d(u.dow,u.ymd)&&u.minutes<i)p=i-u.minutes;else{p=l-u.minutes+i;let n=!1;for(let r=1;r<=10;r++){let a=o(new Date(t.getTime()+r*c),e.tz);if(d(a.dow,a.ymd)){p=l-u.minutes+(r-1)*l+i,n=!0;break}}n||(p=-1)}let m=e.days.includes(u.dow)&&r.includes(u.ymd);return{...f,status:m?`holiday`:`closed`,nextChangeMin:p}}var d=[`Americas`,`Europe`,`Asia-Pacific`,`Middle East / Africa`],f={open:0,holiday:1,closed:2};function p(e,t){let n=[...e];return t===`name`?n.sort((e,t)=>e.name.localeCompare(t.name)):t===`status`?n.sort((e,t)=>f[e.status]-f[t.status]||e.nextChangeMin-t.nextChangeMin):n.sort((e,t)=>d.indexOf(e.region)-d.indexOf(t.region)),n}function m(e){if(e<0)return`—`;if(e<1)return`<1m`;let t=Math.floor(e),n=Math.floor(t/l),r=Math.floor(t%l/60),i=t%60;return n>0?`${n}d ${r}h`:r>0?`${r}h ${i}m`:`${i}m`}function h(e){let t=r[e];return t?n[t.holidayGroup??t.code]??[]:[]}function g(e,t){return h(e).includes(t)}function _(e,t,n=new Date){let i=r[e];if(!i)return[];let a=o(n,i.tz).ymd;return h(e).filter(e=>e>=a).sort().slice(0,Math.max(0,t))}function v(e,t=new Date){let n=r[e];if(!n)return null;let{ymd:i,dow:a}=o(t,n.tz);return{ymd:i,dow:a}}export{m as a,p as c,v as i,r as n,g as o,u as r,_ as s,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{r}from"./format-DWMrfgke.js";import{t as i}from"./ui-CYz5SGgR.js";import{a,c as o,n as s,r as c,t as l}from"./market-data-BeuX48f-.js";import{Ri as u,Wt as d}from"./index-9oCCAb1t.js";var f=e(n(),1),p=t();d.schema;var m={open:{color:r,chipBg:`rgba(63, 208, 143, 0.13)`,label:`Open`,verb:`closes`,rail:r,railOpacity:1,wash:`linear-gradient(90deg, rgba(63, 208, 143, 0.08), transparent 40%)`},closed:{color:`#8b92a1`,chipBg:`rgba(255, 255, 255, 0.045)`,label:`Closed`,verb:`opens`,rail:`rgba(255, 255, 255, 0.22)`,railOpacity:.55,wash:`none`},holiday:{color:`#f2b066`,chipBg:`rgba(242, 176, 102, 0.13)`,label:`Holiday`,verb:`opens`,rail:`#f2b066`,railOpacity:1,wash:`linear-gradient(90deg, rgba(242, 176, 102, 0.07), transparent 40%)`}};function h(){return(0,p.jsxs)(`svg`,{"aria-hidden":`true`,className:`shrink-0`,fill:`none`,height:`15`,viewBox:`0 0 20 20`,width:`15`,children:[(0,p.jsx)(`circle`,{cx:`10`,cy:`10`,r:`7.25`,stroke:`currentColor`,strokeOpacity:`0.75`,strokeWidth:`1.5`}),(0,p.jsx)(`path`,{d:`M2.75 10h14.5M10 2.75c2 2 3 4.42 3 7.25s-1 5.25-3 7.25M10 2.75c-2 2-3 4.42-3 7.25s1 5.25 3 7.25`,stroke:`currentColor`,strokeLinecap:`round`,strokeOpacity:`0.55`,strokeWidth:`1.2`}),(0,p.jsx)(`path`,{d:`m5.25 12.75 2.6-2.3 2.1 1.55 3.95-4.8`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.6`})]})}function g(e,t){try{return new Intl.DateTimeFormat(`en-US`,{timeZone:t,hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZoneName:`short`}).format(e)}catch{return t}}function _(e){return/^[A-Z]{2}$/i.test(e)?[...e.toUpperCase()].map(e=>String.fromCodePoint(127462+e.charCodeAt(0)-65)).join(``):e}function v(){return(0,p.jsxs)(`svg`,{"aria-hidden":`true`,className:`opacity-50 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:opacity-95`,fill:`none`,height:`12`,viewBox:`0 0 16 16`,width:`12`,children:[(0,p.jsx)(`path`,{d:`M6 4.5H4.5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V10`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`}),(0,p.jsx)(`path`,{d:`M9 2.5h4.5V7M8.25 7.75l5-5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`})]})}function y({state:e}){return(0,p.jsx)(`span`,{"aria-hidden":`true`,className:`grid h-[30px] w-[30px] shrink-0 place-items-center overflow-hidden rounded-[9px] border border-white/10 shadow-[inset_0_1px_0_rgba(255,255,255,0.12),0_4px_10px_-7px_rgba(0,0,0,0.8)]`,style:{background:`linear-gradient(150deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02) 48%, rgba(0,0,0,0.22))`},children:(0,p.jsx)(`span`,{className:`text-[1.15rem] leading-none drop-shadow-[0_1px_3px_rgba(0,0,0,0.5)]`,children:_(e.country)})})}function b({state:e}){let t=m[e.status],n=e.status===`closed`;return(0,p.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border px-2 py-[3px] font-dmsans text-[0.5rem] font-bold uppercase leading-none tracking-[0.09em]`,style:{borderColor:n?`rgba(255,255,255,0.1)`:`${t.color}33`,background:t.chipBg,color:n?`rgba(255,255,255,0.62)`:t.color},children:[(0,p.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full`,style:{background:n?`rgba(255,255,255,0.45)`:t.color,boxShadow:e.status===`open`?`0 0 6px ${t.color}`:void 0}}),t.label]})}function x({now:e,state:t}){let n=m[t.status],r=a(t.nextChangeMin),i=g(e,t.tz);return(0,p.jsxs)(`a`,{"aria-label":`${t.name} website`,className:`group text-normal relative grid min-h-[42px] grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-3 overflow-hidden rounded-xl border border-white/[0.06] bg-white/[0.022] py-1.5 pr-2.5 pl-3 transition duration-200 hover:-translate-y-px hover:border-white/[0.14] hover:bg-white/[0.05] hover:text-strong focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/50`,href:t.website,rel:`noreferrer`,style:{backgroundImage:n.wash},target:`_blank`,title:`${t.name} · ${t.city} · ${t.open}-${t.close}`,children:[(0,p.jsx)(`span`,{"aria-hidden":`true`,className:`absolute inset-y-[5px] left-0 w-[3px] rounded-r-full`,style:{background:n.rail,opacity:n.railOpacity}}),(0,p.jsx)(y,{state:t}),(0,p.jsxs)(`span`,{className:`relative min-w-0 pl-0.5`,children:[(0,p.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,p.jsx)(`span`,{className:`body-sm text-strong truncate font-bold`,children:t.name}),(0,p.jsx)(v,{})]}),(0,p.jsxs)(`span`,{className:`caption text-soft flex min-w-0 items-center gap-1.5 tabular-nums`,children:[(0,p.jsx)(`span`,{className:`truncate`,children:t.city}),(0,p.jsx)(`span`,{className:`h-[3px] w-[3px] shrink-0 rounded-full bg-white/25`}),(0,p.jsx)(`span`,{className:`shrink-0`,children:i})]})]}),(0,p.jsxs)(`span`,{className:`relative flex min-w-[84px] flex-col items-end gap-1`,children:[(0,p.jsx)(b,{state:t}),(0,p.jsxs)(`span`,{className:`caption whitespace-nowrap text-right tabular-nums`,style:{color:t.status===`closed`?`rgba(255,255,255,0.55)`:n.color},children:[n.verb,` `,r]})]})]})}function S({config:e}){let[t,n]=(0,f.useState)(()=>new Date);(0,f.useEffect)(()=>{let e=window.setInterval(()=>n(new Date),3e4);return()=>window.clearInterval(e)},[]);let r=e.exchanges.length?e.exchanges:l,a=(0,f.useMemo)(()=>o(r.map(e=>s[e.toUpperCase()]).filter(e=>!!e).map(e=>c(e,t)),e.sort),[r.join(`,`),t,e.sort]);if(a.length===0)return(0,p.jsx)(i,{children:`no known exchanges — check the codes`});let u=a.filter(e=>e.status===`open`).length;return(0,p.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,p.jsxs)(`div`,{className:`caption text-soft mb-2 flex items-center justify-between gap-3 uppercase tracking-wide`,children:[(0,p.jsx)(`span`,{className:`truncate`,children:`exchange sessions`}),(0,p.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1.5 rounded-full border border-white/[0.08] bg-white/[0.045] px-2 py-0.5 tabular-nums`,children:[u>0&&(0,p.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full`,style:{background:`var(--zf-up, #3fd08f)`,boxShadow:`0 0 6px var(--zf-up, #3fd08f)`}}),(0,p.jsx)(`span`,{className:`text-strong font-bold`,children:u}),(0,p.jsxs)(`span`,{className:`text-soft`,children:[`/ `,a.length,` open`]})]})]}),(0,p.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-1 overflow-auto pr-0.5`,children:a.map(e=>(0,p.jsx)(x,{now:t,state:e},e.code))})]})}var C=u({...d,component:S,titleIcon:h});export{C as marketHoursFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{s as r}from"./hooks-CLLchjg6.js";import{a as i,s as a}from"./format-DWMrfgke.js";import{t as o}from"./ui-CYz5SGgR.js";import{t as s}from"./scatter-chart-tjlc1NWO.js";import{Ai as c,Gt as l,Ri as u}from"./index-9oCCAb1t.js";var d=e(n(),1),f=t();l.schema;function p({config:e}){let{entries:t,isLoading:n}=r(),l=c(),u=(0,d.useMemo)(()=>t.filter(e=>e.changePct24h!==void 0&&e.marketCapUsd>0).slice(0,e.limit).map(e=>({id:e.symbol,label:e.symbol,x:e.changePct24h,y:e.marketCapUsd,weight:e.marketCapUsd,color:i(e.changePct24h)})),[t,e.limit]);return n?(0,f.jsx)(o,{loading:!0,children:`loading markets…`}):u.length===0?(0,f.jsx)(o,{children:`no market data yet`}):(0,f.jsxs)(`div`,{className:`flex h-full flex-col justify-center gap-1 text-normal`,children:[(0,f.jsx)(s,{data:u,yScale:`log`,height:210,zeroXLine:!0,formatX:a,formatY:l.compact,maxLabels:10}),(0,f.jsxs)(`div`,{className:`caption text-soft text-center`,children:[`24h change (x) vs market cap (y, log) · top `,u.length]})]})}var m=u({...l,component:p});export{m as marketScatterFrame};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import{n as e}from"./liveline-BV-xqAVq.js";import{Kt as t,Ri as n}from"./index-9oCCAb1t.js";var r=e();t.schema;var i={slow:24,normal:14,fast:8},a=`
|
|
2
|
+
.zf-marquee {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
height: 100%;
|
|
6
|
+
width: 100%;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
}
|
|
9
|
+
.zf-marquee-track {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-shrink: 0;
|
|
12
|
+
align-items: center;
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
will-change: transform;
|
|
15
|
+
animation-name: zf-marquee-scroll;
|
|
16
|
+
animation-timing-function: linear;
|
|
17
|
+
animation-iteration-count: infinite;
|
|
18
|
+
}
|
|
19
|
+
.zf-marquee:hover .zf-marquee-track { animation-play-state: paused; }
|
|
20
|
+
.zf-marquee-item { padding-right: 3rem; }
|
|
21
|
+
@keyframes zf-marquee-scroll {
|
|
22
|
+
from { transform: translateX(0); }
|
|
23
|
+
to { transform: translateX(-50%); }
|
|
24
|
+
}
|
|
25
|
+
@media (prefers-reduced-motion: reduce) {
|
|
26
|
+
.zf-marquee-track { animation: none; }
|
|
27
|
+
}
|
|
28
|
+
`;function o({config:e}){let t=e.accent?`text-highlight`:`text-strong`,n=i[e.speed];return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(`style`,{children:a}),(0,r.jsx)(`div`,{className:`zf-marquee`,"aria-label":e.text,children:(0,r.jsxs)(`div`,{className:`zf-marquee-track`,style:{animationDuration:`${n}s`},children:[(0,r.jsx)(`span`,{className:`zf-marquee-item metric-lg ${t}`,children:e.text}),(0,r.jsx)(`span`,{"aria-hidden":!0,className:`zf-marquee-item metric-lg ${t}`,children:e.text})]})})]})}var s=n({...t,component:o});export{s as marqueeFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{d as r}from"./hooks-CLLchjg6.js";import{r as i,t as a}from"./format-DWMrfgke.js";import{t as o}from"./ui-CYz5SGgR.js";import{a as s,i as c,s as l}from"./indicators-YksbfYtF.js";import{i as u,n as d,t as f}from"./cycle-shared-D8LQcBSw.js";import{Ri as p,qt as m}from"./index-9oCCAb1t.js";var h=e(n(),1),g=t();m.schema;function _({config:e}){let{history:t,isLoading:n}=r(`btc`),p=(0,h.useMemo)(()=>{let e=t.map(e=>e.value),n=c(e,200),r=[];for(let i=0;i<t.length;i++){let a=n[i];a!==null&&a>0&&r.push({time:t[i].time,value:e[i]/a})}return r},[t]);if(n)return(0,g.jsx)(o,{loading:!0,children:`loading Mayer Multiple…`});if(p.length===0)return(0,g.jsx)(o,{children:`not enough price history yet`});let m=p[p.length-1].value,_=u(m,[{upTo:.8,zone:{label:`Value`,color:i}},{upTo:1,zone:{label:`Accumulation`,color:d}},{upTo:2.4,zone:{label:`Neutral`,color:d}}],{label:`Overheated`,color:a});return(0,g.jsx)(f,{caption:`Mayer Multiple · price / 200DMA`,headline:m.toFixed(2),headlineColor:_.color,zone:_,sparkline:s(p,l(e.window)),sparkColor:_.color})}var v=p({...m,component:_});export{v as mayerMultipleFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{j as r}from"./hooks-CLLchjg6.js";import{t as i}from"./ui-CYz5SGgR.js";import{t as a}from"./bar-chart-CMWrEpFm.js";import{r as o}from"./btc-shared-BC2IjkCh.js";import{Jt as s,Ri as c}from"./index-9oCCAb1t.js";var l=e(n(),1),u=t();s.schema;function d({config:e}){let{state:t,isLoading:n}=r(),s=(0,l.useMemo)(()=>(t?.projected??[]).slice(0,e.projectedBlocks).map((e,t)=>({label:t===0?`next`:`+${t}`,value:Math.round(e.medianFee),color:o(e.medianFee)})),[t,e.projectedBlocks]);return n?(0,u.jsx)(i,{loading:!0,children:`loading fee curve…`}):s.length===0?(0,u.jsx)(i,{children:`no mempool data yet`}):(0,u.jsxs)(`div`,{className:`flex h-full flex-col justify-center gap-1 text-normal`,children:[(0,u.jsx)(a,{data:s,height:180}),(0,u.jsxs)(`div`,{className:`caption text-soft text-center`,children:[`median fee (sat/vB) · next `,s.length,` projected blocks`]})]})}var f=c({...s,component:d});export{f as mempoolFeeCurveFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{M as r}from"./hooks-CLLchjg6.js";import{a as i,r as a,s as o,t as s}from"./format-DWMrfgke.js";import{t as c}from"./ui-CYz5SGgR.js";import{t as l}from"./bar-chart-CMWrEpFm.js";import{h as u,o as d,u as f}from"./metals-shared-CN6-LtS3.js";import{Ri as p,Yt as m}from"./index-9oCCAb1t.js";var h=e(n(),1),g=t();m.schema;function _(e){let t=new Date(e);return t.getUTCMonth()===11&&t.getUTCDate()>=24}function v({config:e}){let{histories:t,isLoading:n}=r([e.symbol]),{bars:p,upYears:m,downYears:v,avgPct:y,partialYear:b}=(0,h.useMemo)(()=>{let n=t[0]?.points??[],r=d(n).slice(-e.years),i=r.filter(e=>e.pct>=0).length,a=r.length>0?r.reduce((e,t)=>e+t.pct,0)/r.length:0,o=n.at(-1),s=r.at(-1),c=o!==void 0&&s!==void 0&&s.year===new Date(o.time).getUTCFullYear()&&!_(o.time)?s.year:null;return{bars:f(r.map(e=>({label:String(e.year),value:e.pct}))),upYears:i,downYears:r.length-i,avgPct:a,partialYear:c}},[t,e.years]);return n&&p.length===0?(0,g.jsx)(c,{loading:!0,children:`loading annual returns…`}):p.length===0?(0,g.jsx)(c,{children:`no calendar-year returns yet`}):(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col justify-center gap-1.5 text-normal`,children:[(0,g.jsx)(l,{data:p,orientation:`vertical`,height:186,formatValue:o,maxTickLabels:Math.min(p.length,12)}),(0,g.jsxs)(`div`,{className:`caption text-soft text-center`,children:[u(e.symbol),` · `,p.length,` calendar years`,b===null?``:` (${b} YTD)`,` ·`,` `,(0,g.jsxs)(`span`,{style:{color:a},children:[m,` up`]}),` /`,` `,(0,g.jsxs)(`span`,{style:{color:s},children:[v,` down`]}),` · avg`,` `,(0,g.jsx)(`span`,{style:{color:i(y)},children:o(y)})]})]})}var y=p({...m,component:v});export{y as metalAnnualReturnsFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{M as r}from"./hooks-CLLchjg6.js";import{a as i,s as a}from"./format-DWMrfgke.js";import{t as o}from"./ui-CYz5SGgR.js";import{t as s}from"./metric-row-CqsjSvCI.js";import{a as c,h as l,p as u,v as d}from"./metals-shared-CN6-LtS3.js";import{Ai as f,Ri as p,Xt as m}from"./index-9oCCAb1t.js";var h=e(n(),1),g=t();m.schema;var _=e=>new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`});function v({config:e}){let t=f(),{histories:n,isLoading:p}=r([e.symbol]),m=n[0]?.points,{ath:v,latest:y,belowPct:b}=(0,h.useMemo)(()=>{let e=m??[],t=c(e),n=e.at(-1)??null;return{ath:t,latest:n,belowPct:t&&n?d(t.value,n.value):0}},[m]);return p&&!v?(0,g.jsx)(o,{loading:!0,children:`loading fix history…`}):!v||!y?(0,g.jsx)(o,{children:`no fix history yet`}):(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col justify-center gap-1.5`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`div`,{className:`caption text-soft uppercase`,children:[l(e.symbol),` record fix`]}),(0,g.jsx)(`div`,{className:`metric-lg text-strong leading-none`,children:t.price(v.value)}),(0,g.jsx)(`div`,{className:`caption text-soft`,children:_(v.time)})]}),(0,g.jsxs)(`div`,{className:`min-w-0`,children:[(0,g.jsx)(s,{label:`Latest fix`,meta:_(y.time),value:t.price(y.value)}),(0,g.jsx)(s,{label:`Below record`,value:(0,g.jsx)(`span`,{style:{color:i(b)},children:a(b)})}),(0,g.jsx)(s,{label:`Since record`,value:u(v.time)})]})]})}var y=p({...m,component:v});export{y as metalAthFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{M as r}from"./hooks-CLLchjg6.js";import{s as i}from"./format-DWMrfgke.js";import{t as a}from"./ui-CYz5SGgR.js";import{t as o}from"./multi-series-line-chart-XRttVKf5.js";import{t as s}from"./chart-utils-Ba8AFSZR.js";import{D as c,E as l,S as u,T as d,_ as f,d as p,h as m}from"./metals-shared-CN6-LtS3.js";import{Ri as h,Zt as g}from"./index-9oCCAb1t.js";var _=e(n(),1),v=t();g.schema;function y({config:e}){let{histories:t,isLoading:n}=r(e.symbols),h=(0,_.useMemo)(()=>{let n=f(t.map(t=>d(t.points,e.years))),r=[];return n.forEach((e,n)=>{let i=p(u(e));i.length<2||r.push({totalPct:i[i.length-1].value,series:{id:t[n].symbol,name:m(t[n].symbol),color:s[n%s.length],data:c(i)}})}),r},[t,e.years]),g=(0,_.useMemo)(()=>h.map(e=>e.series),[h]),y=(0,_.useMemo)(()=>{let e=h[0]?.series.data[0]?.date;return e?new Date(e).toLocaleDateString(`en-GB`,{month:`short`,year:`numeric`}):``},[h]);return n&&h.length===0?(0,v.jsx)(a,{loading:!0,children:`loading London fix history…`}):h.length===0?(0,v.jsx)(a,{children:t.length>1?`no fix days these metals share in this window`:`no London fix history yet`}):(0,v.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,children:[(0,v.jsx)(o,{series:g,timeframe:l(e.years),height:240,formatValue:i}),(0,v.jsxs)(`div`,{className:`caption text-soft text-center`,children:[`indexed to 0% at `,y,` · `,e.years,`y`]})]})}var b=h({...g,component:y});export{b as metalCompareChartFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{N as r}from"./hooks-CLLchjg6.js";import{a as i,c as a}from"./format-DWMrfgke.js";import{n as o,t as s}from"./ui-CYz5SGgR.js";import{t as c}from"./bar-chart-CMWrEpFm.js";import{t as l}from"./metric-row-CqsjSvCI.js";import{h as u,p as d,u as f}from"./metals-shared-CN6-LtS3.js";import{Qt as p,Ri as m}from"./index-9oCCAb1t.js";var h=e(n(),1),g=t();p.schema;function _(e){return new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`})}function v(e){return`${e>=0?`+`:``}${a(e)}`}var y=[{key:`spec`,label:`Speculators`,meta:`non-commercial`,long:e=>e.noncommercialLong,short:e=>e.noncommercialShort},{key:`comm`,label:`Commercials`,meta:`hedgers · structurally short`,long:e=>e.commercialLong,short:e=>e.commercialShort},{key:`small`,label:`Small traders`,meta:`non-reportable`,long:e=>e.nonreportableLong,short:e=>e.nonreportableShort}],b={spec:`Spec`,comm:`Comm`,small:`Small`};function x({config:e}){let{positioning:t,isLoading:n}=r(e.symbol),p=t?.weeks.at(-1)??null,m=t?.weeks.at(-2)??null,x=(0,h.useMemo)(()=>p?f(y.flatMap(e=>[{label:`${b[e.key]} long`,value:e.long(p)},{label:`${b[e.key]} short`,value:-e.short(p)}])):[],[p]);return n&&!p?(0,g.jsx)(s,{loading:!0,children:`loading COT report…`}):p?x.some(e=>e.value!==0)?(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,children:[(0,g.jsx)(c,{data:x,orientation:`horizontal`,height:Math.max(x.length*24,96),formatValue:e=>a(Math.abs(e))}),(0,g.jsx)(`div`,{className:o,children:y.map(e=>{let t=e.long(p)-e.short(p),n=m?t-(e.long(m)-e.short(m)):null;return(0,g.jsx)(l,{label:e.label,meta:e.meta,value:(0,g.jsxs)(`span`,{className:`flex items-baseline justify-end gap-2 tabular-nums`,children:[(0,g.jsx)(`span`,{children:v(t)}),n===null?(0,g.jsx)(`span`,{className:`body-sm text-disabled`,children:`—`}):(0,g.jsx)(`span`,{className:`body-sm font-bold`,style:{color:i(n)},children:v(n)})]})},e.key)})}),(0,g.jsxs)(`div`,{className:`caption text-soft text-center`,children:[u(e.symbol),` · week of `,_(p.time),` (`,d(p.time),` old) — the CFTC publishes Tuesday positions on Friday, so this lags by design. Net and change in contracts.`]})]}):(0,g.jsx)(s,{children:`no reported COT positions this week`}):(0,g.jsx)(s,{children:`no COT positioning yet`})}var S=m({...p,component:x});export{S as metalCotBreakdownFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{N as r}from"./hooks-CLLchjg6.js";import{c as i,r as a,t as o}from"./format-DWMrfgke.js";import{t as s}from"./ui-CYz5SGgR.js";import{t as c}from"./radial-gauge-DUhIBGcM.js";import{T as l,h as u,l as d,y as f}from"./metals-shared-CN6-LtS3.js";import{$t as p,Ri as m}from"./index-9oCCAb1t.js";var h=e(n(),1),g=t();p.schema;var _=`hsl(var(--zf-accent-hue, 242) 82% 70%)`;function v(e){return e<20?`washed out`:e<40?`light`:e<=60?`neutral`:e<=80?`crowded`:`very crowded long`}function y(e){return e>80?o:e<20?a:_}function b(e){return`${e>=0?`+`:``}${i(e)}`}function x({config:e}){let{positioning:t,isLoading:n}=r(e.symbol),i=(0,h.useMemo)(()=>{let n=t?.weeks??[];if(n.length===0)return null;let r=l(n.map(e=>({time:e.time,value:d(e)})),e.years).map(e=>e.value);if(r.length<2)return null;let i=r[0],a=r[0];for(let e of r)e<i&&(i=e),e>a&&(a=e);let o=r[r.length-1];return{latest:o,pct:f(r,o),low:i,high:a}},[t,e.years]);if(n&&!i)return(0,g.jsx)(s,{loading:!0,children:`loading COT positioning…`});if(!i)return(0,g.jsx)(s,{children:`not enough COT positioning history yet`});let a=y(i.pct);return(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col items-center justify-center gap-1`,children:[(0,g.jsxs)(c,{value:i.pct,min:0,max:100,color:a,size:140,children:[(0,g.jsx)(`div`,{className:`metric-xl leading-none tabular-nums`,style:{color:a},children:Math.round(i.pct)}),(0,g.jsx)(`div`,{className:`caption mt-1 rounded-full bg-white/[0.07] px-2 py-0.5 uppercase tracking-wide`,style:{color:a},children:v(i.pct)})]}),(0,g.jsxs)(`div`,{className:`body-sm text-normal tabular-nums`,children:[`net `,b(i.latest)]}),(0,g.jsxs)(`div`,{className:`caption text-soft text-center`,children:[u(e.symbol),` spec net percentile, `,e.years,`y range`,` `,b(i.low),` … `,b(i.high)]}),(0,g.jsx)(`div`,{className:`caption text-soft text-center`,children:`contrarian scale — crowded long is the warning colour`})]})}var S=m({...p,component:x});export{S as metalCotGaugeFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{N as r}from"./hooks-CLLchjg6.js";import{a as i,c as a,s as o}from"./format-DWMrfgke.js";import{t as s}from"./ui-CYz5SGgR.js";import{t as c}from"./multi-series-line-chart-XRttVKf5.js";import{t as l}from"./chart-utils-Ba8AFSZR.js";import{D as u,E as d,S as f,T as p,d as m,h,l as g}from"./metals-shared-CN6-LtS3.js";import{Ri as _,en as v}from"./index-9oCCAb1t.js";var y=e(n(),1),b=t();v.schema;function x(e){return new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`})}function S(e){return`${e>=0?`+`:``}${a(e)}`}function C({config:e}){let{positioning:t,isLoading:n}=r(e.symbol),_=t?.weeks,{series:v,yDomain:C,netBase:w,latestNet:T,weekChange:E,lastReport:D}=(0,y.useMemo)(()=>{let t={series:[],yDomain:void 0,netBase:0,latestNet:null,weekChange:null,lastReport:null},n=_??[];if(n.length===0)return t;let r=m(p(n.map(e=>({time:e.time,value:g(e)})),e.years));if(r.length===0)return t;let i=e.showOpenInterest,a=[{id:`net`,name:`Net spec`,color:l[0],data:u(i?f(r):r)}];if(i){let t=m(p(n.map(e=>({time:e.time,value:e.openInterest})),e.years));a.push({id:`oi`,name:`Open int`,color:l[2],data:u(f(t))})}let o=a.flatMap(e=>e.data.map(e=>e.value)),s=Math.min(0,...o),c=Math.max(0,...o),d=(c-s)*.06||1,h=[s-d,c+d],v=n[n.length-1],y=n.length>1?n[n.length-2]:null;return{series:a,yDomain:h,netBase:r[0].value,latestNet:g(v),weekChange:y?g(v)-g(y):null,lastReport:v.time}},[_,e.years,e.showOpenInterest]);return n&&v.length===0?(0,b.jsx)(s,{loading:!0,children:`loading COT reports…`}):v.length===0||T===null?(0,b.jsx)(s,{children:`no COT positioning yet`}):(0,b.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,children:[(0,b.jsxs)(`div`,{className:`flex items-end justify-between gap-3`,children:[(0,b.jsxs)(`div`,{className:`min-w-0`,children:[(0,b.jsxs)(`div`,{className:`caption text-soft uppercase`,children:[h(e.symbol),` net spec`]}),(0,b.jsx)(`div`,{className:`metric-lg text-strong leading-none tabular-nums`,children:S(T)})]}),(0,b.jsxs)(`div`,{className:`shrink-0 text-right`,children:[(0,b.jsx)(`div`,{className:`caption text-soft`,children:`week over week`}),E===null?(0,b.jsx)(`div`,{className:`body-md text-disabled`,children:`—`}):(0,b.jsx)(`div`,{className:`body-md font-bold tabular-nums`,style:{color:i(E)},children:S(E)}),D!==null&&(0,b.jsx)(`div`,{className:`caption text-soft`,children:x(D)})]})]}),(0,b.jsx)(c,{series:v,timeframe:d(e.years),height:180,yDomain:C,formatValue:e.showOpenInterest?o:a}),(0,b.jsx)(`div`,{className:`caption text-soft text-center`,children:e.showOpenInterest?(0,b.jsxs)(b.Fragment,{children:[`net spec and total open interest, both rebased to % from the window start`,w<=0&&` · specs were net short there, so their % reads inverted`]}):`non-commercial long − short, contracts — zero is kept on the axis`})]})}var w=_({...v,component:C});export{w as metalCotNetFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{M as r}from"./hooks-CLLchjg6.js";import{a as i,f as a,n as o}from"./format-DWMrfgke.js";import{t as s}from"./ui-CYz5SGgR.js";import{t as c}from"./multi-series-line-chart-XRttVKf5.js";import{D as l,E as u,T as d,d as f,f as p,h as m}from"./metals-shared-CN6-LtS3.js";import{Ri as h,tn as g}from"./index-9oCCAb1t.js";var _=e(n(),1),v=t();g.schema;var y=e=>a(e,0),b=e=>new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`});function x({config:e}){let{histories:t,isLoading:n}=r([e.symbol]),h=t[0]?.points,{series:g,current:x,worst:S}=(0,_.useMemo)(()=>{let t=d(p(h??[]),e.years),n=null;for(let e of t)(!n||e.value<n.value)&&(n=e);let r=l(f(t));return{series:r.length>0?[{id:`drawdown`,name:`${m(e.symbol)} drawdown`,color:o,data:r}]:[],current:t.at(-1)?.value??0,worst:n}},[h,e.symbol,e.years]);return n&&g.length===0?(0,v.jsx)(s,{loading:!0,children:`loading fix history…`}):g.length===0?(0,v.jsx)(s,{children:`no fix history yet`}):(0,v.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,children:[(0,v.jsxs)(`div`,{className:`flex items-end justify-between gap-3`,children:[(0,v.jsxs)(`div`,{className:`min-w-0`,children:[(0,v.jsx)(`div`,{className:`caption text-soft uppercase`,children:`below record`}),(0,v.jsx)(`div`,{className:`metric-lg leading-none`,style:{color:i(x)},children:a(x,1)})]}),S&&(0,v.jsxs)(`div`,{className:`shrink-0 text-right`,children:[(0,v.jsxs)(`div`,{className:`caption text-soft uppercase`,children:[`worst · `,e.years,`y`]}),(0,v.jsx)(`div`,{className:`metric-sm`,style:{color:`var(--zf-down, #ff6b81)`},children:a(S.value,1)}),(0,v.jsx)(`div`,{className:`caption text-soft`,children:b(S.time)})]})]}),(0,v.jsx)(c,{series:g,timeframe:u(e.years),height:180,formatValue:y})]})}var S=h({...g,component:x});export{S as metalDrawdownFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{n as t,r as n}from"./liveline-BV-xqAVq.js";import{M as r}from"./hooks-CLLchjg6.js";import{a as i,s as a}from"./format-DWMrfgke.js";import{n as o,t as s}from"./ui-CYz5SGgR.js";import{h as c,m as l,v as u}from"./metals-shared-CN6-LtS3.js";import{Ai as d,Ri as f,nn as p}from"./index-9oCCAb1t.js";var m=e(n(),1),h=t();p.schema;function g(e){return new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`})}var _=`grid grid-cols-[minmax(0,1fr)_auto_4.25rem] items-baseline`;function v({config:e}){let t=d(),{histories:n,isLoading:f}=r([e.symbol],e.currency),p=(0,m.useMemo)(()=>n.find(t=>t.symbol===e.symbol)?.points??[],[n,e.symbol]),v=(0,m.useMemo)(()=>{let t=p.slice(-e.rows),n=p.length-t.length,r=[];for(let e=t.length-1;e>=0;--e){let i=p[n+e-1];r.push({time:t[e].time,value:t[e].value,changePct:i?u(i.value,t[e].value):null})}return r},[p,e.rows]);return f&&v.length===0?(0,h.jsx)(s,{loading:!0,children:`loading London fix history…`}):v.length===0?(0,h.jsxs)(s,{children:[`no London fix history for `,c(e.symbol),` yet`]}):(0,h.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,children:[(0,h.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`div`,{className:`caption text-soft uppercase`,children:`london fix`}),(0,h.jsxs)(`div`,{className:`body-sm text-normal`,children:[c(e.symbol),` · `,e.currency]})]}),(0,h.jsx)(`div`,{className:`caption text-soft text-right`,children:`daily`})]}),(0,h.jsxs)(`div`,{className:`${_} caption text-disabled gap-x-3 border-b border-white/[0.08] pr-1 pb-1 uppercase`,children:[(0,h.jsx)(`span`,{children:`date`}),(0,h.jsx)(`span`,{className:`text-right`,children:`fix`}),(0,h.jsx)(`span`,{className:`text-right`,children:`chg`})]}),(0,h.jsx)(`div`,{className:`${o} ${_} content-start gap-x-3`,children:v.map(n=>(0,h.jsxs)(m.Fragment,{children:[(0,h.jsx)(`span`,{className:`body-sm text-soft truncate py-1`,children:g(n.time)}),(0,h.jsx)(`span`,{className:`body-sm text-strong py-1 text-right tabular-nums`,children:l(n.value,e.currency,t)}),n.changePct===null?(0,h.jsx)(`span`,{className:`body-sm text-disabled py-1 text-right tabular-nums`,children:`—`}):(0,h.jsx)(`span`,{className:`body-sm py-1 text-right font-bold tabular-nums`,style:{color:i(n.changePct)},children:a(n.changePct)})]},n.time))})]})}var y=f({...p,component:v});export{y as metalFixTableFrame};
|