@mavea/mavea 1.0.7
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/CHANGELOG.md +159 -0
- package/DISCLAIMER.md +16 -0
- package/LICENSE +75 -0
- package/PRIVACY.md +127 -0
- package/README.md +248 -0
- package/SECURITY.md +72 -0
- package/SUPPORT.md +13 -0
- package/TERMS.md +122 -0
- package/THIRD-PARTY.txt +639 -0
- package/TRADEMARKS.md +15 -0
- package/bin/mavea.mjs +1079 -0
- package/dist/.vite/manifest.json +4261 -0
- package/dist/_headers +52 -0
- package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
- package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
- package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
- package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
- package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
- package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
- package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
- package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
- package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
- package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
- package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
- package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
- package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
- package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
- package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
- package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
- package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
- package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
- package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
- package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
- package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
- package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
- package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
- package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
- package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
- package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
- package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
- package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
- package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
- package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
- package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
- package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
- package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
- package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
- package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
- package/dist/assets/DropSelect-DUhdQSta.js +1 -0
- package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
- package/dist/assets/ExportModal-D65cGyj_.js +2 -0
- package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
- package/dist/assets/FallbackCard-B489rTd9.js +1 -0
- package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
- package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
- package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
- package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
- package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
- package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
- package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
- package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
- package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
- package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
- package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
- package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
- package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
- package/dist/assets/LegalApp-DZBdExTy.js +1 -0
- package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
- package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
- package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
- package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
- package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
- package/dist/assets/Library-D2XGNXz7.js +1 -0
- package/dist/assets/Library-DmrtHjUf.css +1 -0
- package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
- package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
- package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
- package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
- package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
- package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
- package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
- package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
- package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
- package/dist/assets/Orb-B0NEVfqL.js +1 -0
- package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
- package/dist/assets/PlanReview-33V8GTNB.js +1 -0
- package/dist/assets/Presence-CzLJIeSD.js +1 -0
- package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
- package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
- package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
- package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
- package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
- package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
- package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
- package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
- package/dist/assets/Quiz-CUwtekfu.js +1 -0
- package/dist/assets/Recap-DCiiWNiV.css +1 -0
- package/dist/assets/Recap-H5fhj5Tc.js +1 -0
- package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
- package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
- package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
- package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
- package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
- package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
- package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
- package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
- package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
- package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
- package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
- package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
- package/dist/assets/SeeDontRead-C389viue.js +1 -0
- package/dist/assets/ShareModal-C8S7ySls.css +1 -0
- package/dist/assets/ShareModal-ClnEkudw.js +32 -0
- package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
- package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
- package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
- package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
- package/dist/assets/ShipGate-BVZfCllb.css +1 -0
- package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
- package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
- package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
- package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
- package/dist/assets/ShipIncident-DcmindmE.js +2 -0
- package/dist/assets/ShipMigration-BznCskNg.css +1 -0
- package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
- package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
- package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
- package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
- package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
- package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
- package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
- package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
- package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
- package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
- package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
- package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
- package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
- package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
- package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
- package/dist/assets/TermsApp-C70tW6m6.js +123 -0
- package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
- package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
- package/dist/assets/TourPrism-BvucSkcs.js +1 -0
- package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
- package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
- package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
- package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
- package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
- package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
- package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
- package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
- package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
- package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
- package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
- package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
- package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
- package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
- package/dist/assets/annotations-D2K9A5GB.js +1 -0
- package/dist/assets/backup-c-Btapzp.js +1 -0
- package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
- package/dist/assets/c-DWGmR78Y.js +1 -0
- package/dist/assets/c-SSSlmE39.js +1 -0
- package/dist/assets/cache-BumECILO.js +1 -0
- package/dist/assets/canvas-QTEIiK23.js +1 -0
- package/dist/assets/catalog-BHjl-1uH.js +2 -0
- package/dist/assets/catalog-Dqaq2YFd.js +1 -0
- package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
- package/dist/assets/chapters-BiUsDClQ.js +1 -0
- package/dist/assets/charts1-EOoxU_K3.js +1 -0
- package/dist/assets/charts2-tyUiQPff.js +1 -0
- package/dist/assets/chunk-BVpWp9h4.js +1 -0
- package/dist/assets/citation-BcvmjKS8.js +1 -0
- package/dist/assets/code-CpjYCNS8.js +8 -0
- package/dist/assets/codeContext-0UMRSGRr.js +5 -0
- package/dist/assets/colors-D49Req-e.js +1 -0
- package/dist/assets/compose-BJ9EfcQS.js +3 -0
- package/dist/assets/contentVault-DzTYWcbD.js +1 -0
- package/dist/assets/core-DEFyprhs.js +1 -0
- package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
- package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
- package/dist/assets/courseStore-DfafnL-9.js +1 -0
- package/dist/assets/courses-BkH1ntDL.css +1 -0
- package/dist/assets/cpp-BGdv8dzs.js +1 -0
- package/dist/assets/cpp-CNAAXZl-.js +1 -0
- package/dist/assets/csharp-oqKa8noW.js +1 -0
- package/dist/assets/css-CdtkT07m.js +1 -0
- package/dist/assets/css-LbU1hoFO.js +1 -0
- package/dist/assets/dag-C3Xx8pOD.js +2 -0
- package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
- package/dist/assets/dashboards-rcWxdoXI.css +1 -0
- package/dist/assets/deckLine-NBd3MyGT.js +1 -0
- package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
- package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
- package/dist/assets/diagrams-CaSfjT4I.js +1 -0
- package/dist/assets/diff-woXpYk--.js +1 -0
- package/dist/assets/display-OvC57CMc.js +9 -0
- package/dist/assets/dist-BFx3nZg4.js +2785 -0
- package/dist/assets/dist-xRGLOZwv.js +14 -0
- package/dist/assets/docs-B2aDtm5K.js +1 -0
- package/dist/assets/everyday-CoZa4kDZ.js +1 -0
- package/dist/assets/explode-WBykfhqW.js +13 -0
- package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
- package/dist/assets/facts-BBTt3ImG.js +1 -0
- package/dist/assets/finance-Bxn_Q1p0.js +1 -0
- package/dist/assets/fit-0HxU-rtB.js +1 -0
- package/dist/assets/fitText-CDFmCQzl.js +1 -0
- package/dist/assets/flows-BL81J7yN.js +1 -0
- package/dist/assets/format-DlZTyeMy.js +1 -0
- package/dist/assets/format-hc2QOoIu.js +1 -0
- package/dist/assets/forms-DeoXOxdD.js +1 -0
- package/dist/assets/generate-8odaTyr4.js +17 -0
- package/dist/assets/generateBeats-b64CL54v.js +1 -0
- package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
- package/dist/assets/generateLive-D4B30fnF.js +52 -0
- package/dist/assets/geometry-DXAbnb0J.js +1 -0
- package/dist/assets/gesture-DabMpPcq.js +2 -0
- package/dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
- package/dist/assets/githubToken-DtcLYqwm.js +11 -0
- package/dist/assets/go-rLFTqkRN.js +1 -0
- package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
- package/dist/assets/html-BcACZWSP.js +1 -0
- package/dist/assets/html-DDNsd9lV.js +1 -0
- package/dist/assets/http-CJCtjYpA.js +2 -0
- package/dist/assets/icons-CHVz6kv_.js +1 -0
- package/dist/assets/index-CepQEz75.css +1 -0
- package/dist/assets/index-y8GL67bB.js +22 -0
- package/dist/assets/index.es-CRLiWwiA.js +5 -0
- package/dist/assets/info-CiqHR5cs.js +1 -0
- package/dist/assets/java-BtIQNnN0.js +1 -0
- package/dist/assets/java-DxlWrXwe.js +1 -0
- package/dist/assets/javascript-BzbQS41l.js +1 -0
- package/dist/assets/javascript-Yelw-5ZN.js +1 -0
- package/dist/assets/json-B0N3XRZU.js +1 -0
- package/dist/assets/json-B88Oqtu5.js +1 -0
- package/dist/assets/json-CaljABEy.js +1 -0
- package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
- package/dist/assets/jsx-D3KKoC5L.js +1 -0
- package/dist/assets/jsx-hEbJ82HF.js +1 -0
- package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
- package/dist/assets/katex-BMCG0xok.js +257 -0
- package/dist/assets/keyVault-DEsNh9FR.js +1 -0
- package/dist/assets/kokoro-D4GKpSL0.js +1 -0
- package/dist/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/assets/layout-BFQOzXtG.js +1 -0
- package/dist/assets/layout-CkO0Psde.js +1 -0
- package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
- package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
- package/dist/assets/learn-DVfqN-nf.js +1 -0
- package/dist/assets/lib-DMAxsZKm.css +1 -0
- package/dist/assets/lib-VFqp6Y3w.js +1 -0
- package/dist/assets/links--u_phi0x.js +1 -0
- package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
- package/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/assets/mastery-BPjxP0fN.js +4 -0
- package/dist/assets/media-CsrUl279.js +43 -0
- package/dist/assets/model-BE0UHu1w.js +27 -0
- package/dist/assets/motion-S0NRruNj.js +1 -0
- package/dist/assets/nav-Czm-NzPV.js +1 -0
- package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
- package/dist/assets/notes-A9t4jdfx.css +1 -0
- package/dist/assets/notes-lROPCorS.js +1 -0
- package/dist/assets/notify-Bz4wuE4T.js +1 -0
- package/dist/assets/now-C9-UAzTC.js +1 -0
- package/dist/assets/number-DXgzss0v.js +1 -0
- package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
- package/dist/assets/openchemlib-nMLMmg26.js +23 -0
- package/dist/assets/overlays-JxbHtA2o.js +1 -0
- package/dist/assets/owners-FXDGInVq.js +2 -0
- package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
- package/dist/assets/pdf-Df7PCH7q.js +11 -0
- package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
- package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
- package/dist/assets/perfProbe-COAp9PAa.js +1 -0
- package/dist/assets/php-CYrBA5iX.js +1 -0
- package/dist/assets/pickers-B4-3HOR8.js +1 -0
- package/dist/assets/pin-Bya3BL_a.css +1 -0
- package/dist/assets/pin-CXSuPJYL.js +1 -0
- package/dist/assets/planTracker-7AMCQPNx.js +1 -0
- package/dist/assets/portal-DMw7C32j.js +1 -0
- package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
- package/dist/assets/predictions-CYS7Vo39.js +1 -0
- package/dist/assets/prewarm--whjQhWJ.js +1 -0
- package/dist/assets/prism-app-CXYElq8-.css +1 -0
- package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
- package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
- package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
- package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
- package/dist/assets/providers-wzm7E8Pa.js +1 -0
- package/dist/assets/purify.es-adlwq8Pz.js +3 -0
- package/dist/assets/python-gzcpVVnB.js +1 -0
- package/dist/assets/queue-DHeyJ32F.css +1 -0
- package/dist/assets/queue-J4h7E3uc.js +1 -0
- package/dist/assets/quietHours-BvcsBKKK.js +1 -0
- package/dist/assets/react-BQSORdFI.js +1 -0
- package/dist/assets/reference-sJzyMiL4.js +1 -0
- package/dist/assets/registry-1GuPBfQK.js +1 -0
- package/dist/assets/registry-2GJZ46M8.css +1 -0
- package/dist/assets/registry-2v0jlh5Q.js +2 -0
- package/dist/assets/registry-B8DStMJk.js +1 -0
- package/dist/assets/registry-B940W2j5.js +1 -0
- package/dist/assets/registry-BAoRB8rd.css +1 -0
- package/dist/assets/registry-BPvIPLke.js +1 -0
- package/dist/assets/registry-BVHiKEwE.css +1 -0
- package/dist/assets/registry-BcZXBr3y.css +1 -0
- package/dist/assets/registry-BffpZK5w.js +1 -0
- package/dist/assets/registry-BgGeRiDA.js +2 -0
- package/dist/assets/registry-Buq5uuCv.js +1 -0
- package/dist/assets/registry-BzNLfje1.css +1 -0
- package/dist/assets/registry-C3ezxLR3.css +1 -0
- package/dist/assets/registry-CAusoyBh.js +1 -0
- package/dist/assets/registry-CEVrY72Z.js +1 -0
- package/dist/assets/registry-CKjKq6ct.js +1 -0
- package/dist/assets/registry-CNgybLQv.css +1 -0
- package/dist/assets/registry-CRM7y8QT.css +1 -0
- package/dist/assets/registry-CRisz4Ca.css +1 -0
- package/dist/assets/registry-Cg7qUZPS.js +1 -0
- package/dist/assets/registry-Cix-yqch.js +1 -0
- package/dist/assets/registry-CtbuZWYz.css +1 -0
- package/dist/assets/registry-DCI_BeFJ.js +5 -0
- package/dist/assets/registry-DDLSYDVA.js +1 -0
- package/dist/assets/registry-DI1wSG1Y.js +1 -0
- package/dist/assets/registry-DJinB5ye.js +2 -0
- package/dist/assets/registry-DUvXX_d0.js +1 -0
- package/dist/assets/registry-DVzLacl_.css +1 -0
- package/dist/assets/registry-DWcNVyI2.css +1 -0
- package/dist/assets/registry-D_URPoL4.js +1 -0
- package/dist/assets/registry-Dkc7hN5T.js +1 -0
- package/dist/assets/registry-DmQlNN3y.js +1 -0
- package/dist/assets/registry-DpaaVbmL.css +1 -0
- package/dist/assets/registry-Dpb8EXHn.js +49 -0
- package/dist/assets/registry-Dru0JcTa.css +1 -0
- package/dist/assets/registry-DujBAgn_.js +1 -0
- package/dist/assets/registry-Dye5m3qt.css +1 -0
- package/dist/assets/registry-GeSy4i7R.css +1 -0
- package/dist/assets/registry-QcULZpdE.js +4 -0
- package/dist/assets/registry-T3i2Q9SI.css +1 -0
- package/dist/assets/registry-UFIuwh3i.css +1 -0
- package/dist/assets/registry-Xzq_Rpmm.css +1 -0
- package/dist/assets/registry-ZOWzhOHk.css +1 -0
- package/dist/assets/registry-aIH-Im5Y.css +1 -0
- package/dist/assets/registry-aazwkBJp.js +1 -0
- package/dist/assets/registry-ei6fIgBT.css +1 -0
- package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
- package/dist/assets/registry-upbw6pyj.css +1 -0
- package/dist/assets/registry-zRPjWNl5.js +1 -0
- package/dist/assets/relate-A9ZeaaAI.js +1 -0
- package/dist/assets/richText-BkxJhl9N.js +1 -0
- package/dist/assets/ruby-BhrksQMt.js +1 -0
- package/dist/assets/run-BYP2YlZT.js +23 -0
- package/dist/assets/run-C_0B_41W.js +21 -0
- package/dist/assets/run-DSVvshaB.js +21 -0
- package/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/assets/safeCssColor-di93BXgG.js +1 -0
- package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
- package/dist/assets/scale-Bcgfo6Hp.js +1 -0
- package/dist/assets/screen-DLR7p_yP.js +1 -0
- package/dist/assets/search-DnjHupRf.js +1 -0
- package/dist/assets/seed-b1xc0dj2.js +1 -0
- package/dist/assets/shapes-RqjqC0ay.js +1 -0
- package/dist/assets/shard000-DM_rqD7W.js +1 -0
- package/dist/assets/shard001-gQEQs7_F.js +1 -0
- package/dist/assets/shard002-DbDas-W-.js +1 -0
- package/dist/assets/shard003-DxMszG4_.js +1 -0
- package/dist/assets/shard004-DZMpLBw1.js +1 -0
- package/dist/assets/shard005-DLVkh9IH.js +1 -0
- package/dist/assets/shard006-B6efKHov.js +1 -0
- package/dist/assets/shard007-AFdZLe38.js +1 -0
- package/dist/assets/shard008-LbSBzwRx.js +1 -0
- package/dist/assets/shard009-D_6-SUDb.js +1 -0
- package/dist/assets/shard010-DbOj-uZW.js +1 -0
- package/dist/assets/shard011-BYSz7EEW.js +1 -0
- package/dist/assets/shard012-B5Ypj7OV.js +1 -0
- package/dist/assets/shard013-BtsliNIe.js +1 -0
- package/dist/assets/shard014-15sjmk68.js +1 -0
- package/dist/assets/shard015-nnXrqru_.js +1 -0
- package/dist/assets/shard016-BayXFE13.js +1 -0
- package/dist/assets/shard017-Cy4cGexs.js +1 -0
- package/dist/assets/shard018-aO-BYJ8H.js +1 -0
- package/dist/assets/shard019-gxaTeA3I.js +1 -0
- package/dist/assets/shard020-BibJdMI0.js +1 -0
- package/dist/assets/shard021-2FE-tze4.js +1 -0
- package/dist/assets/shard022-IXiyG-JK.js +1 -0
- package/dist/assets/shard023-314F6NJS.js +1 -0
- package/dist/assets/shard024-cN5rpQ_X.js +1 -0
- package/dist/assets/shard025-KKTaXOGE.js +1 -0
- package/dist/assets/shard026-C2Dkd1t6.js +1 -0
- package/dist/assets/shard027-Xy-8x9As.js +1 -0
- package/dist/assets/shard028-Bul-klUj.js +1 -0
- package/dist/assets/shard029-BbRSUcUZ.js +1 -0
- package/dist/assets/shard030-GYllsFVC.js +1 -0
- package/dist/assets/shard031-DMigeiyn.js +1 -0
- package/dist/assets/shard032-CcvmzK0l.js +1 -0
- package/dist/assets/shard033-11AU702M.js +1 -0
- package/dist/assets/shard034-Bx3urxjM.js +1 -0
- package/dist/assets/shard035-DBdEeyCt.js +1 -0
- package/dist/assets/shard036-vYgoRBqS.js +1 -0
- package/dist/assets/shard037-DP4MMw91.js +1 -0
- package/dist/assets/shard038-ffxsv7d6.js +1 -0
- package/dist/assets/shard039-C1JHHNp9.js +1 -0
- package/dist/assets/shard040-JbVvCSO_.js +1 -0
- package/dist/assets/shard041-5L_eFwGx.js +1 -0
- package/dist/assets/shard042-C9nsGL79.js +1 -0
- package/dist/assets/shard043-Dx_9HSKI.js +1 -0
- package/dist/assets/shard044-B3QQNC4A.js +1 -0
- package/dist/assets/shard045-B7z0WHO6.js +1 -0
- package/dist/assets/shard046-D1yDablJ.js +1 -0
- package/dist/assets/shard047-DJi3AgeT.js +1 -0
- package/dist/assets/shard048-D_2ipfUr.js +1 -0
- package/dist/assets/shard049-1aGgWZdd.js +1 -0
- package/dist/assets/shard050-Bjwa0Og4.js +1 -0
- package/dist/assets/shard051-Cx_GAk3v.js +1 -0
- package/dist/assets/shard052-LaeOD3V5.js +1 -0
- package/dist/assets/shard053-D-da7Foj.js +1 -0
- package/dist/assets/shard054-CM8eSRQk.js +1 -0
- package/dist/assets/shard055-QRpDl4Vs.js +1 -0
- package/dist/assets/shard056-DkY7CQm3.js +1 -0
- package/dist/assets/shard057-BVCgf7o0.js +1 -0
- package/dist/assets/shard058-93aGtdrX.js +1 -0
- package/dist/assets/shard059-rJE9X1_I.js +1 -0
- package/dist/assets/shard060-Lu_hfl1r.js +1 -0
- package/dist/assets/shard061-C9A8iNiq.js +1 -0
- package/dist/assets/shard062-BBIpEYZO.js +1 -0
- package/dist/assets/shard063-C_uen3Ub.js +1 -0
- package/dist/assets/shard064-DAHUsHST.js +1 -0
- package/dist/assets/shard065-C2edvdvh.js +1 -0
- package/dist/assets/shard066-DFcuVhZm.js +1 -0
- package/dist/assets/shard067-BN8DM8JZ.js +1 -0
- package/dist/assets/shard068-i464K77p.js +1 -0
- package/dist/assets/shard069-Dm9m2a5U.js +1 -0
- package/dist/assets/shard070-BPVvR8GH.js +1 -0
- package/dist/assets/shard071-Bal_0d9L.js +1 -0
- package/dist/assets/shard072-CBQu62kt.js +1 -0
- package/dist/assets/shard073-D5BRae0w.js +1 -0
- package/dist/assets/shard074-DtFvcBnZ.js +1 -0
- package/dist/assets/share-QHGHNDhQ.js +1 -0
- package/dist/assets/shellscript-BiGZg9Om.js +1 -0
- package/dist/assets/shellscript-CqHdAlCp.js +1 -0
- package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
- package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
- package/dist/assets/speed-DwPw9KSv.js +1 -0
- package/dist/assets/spokenText-D4zPX9JY.js +1 -0
- package/dist/assets/sql-0Qcw9ht3.js +1 -0
- package/dist/assets/sql-CP0rg-5b.js +1 -0
- package/dist/assets/src-DbgF7cRH.js +2 -0
- package/dist/assets/stats-BeP5Bws0.js +1 -0
- package/dist/assets/status-BY02LIJt.js +1 -0
- package/dist/assets/stepDriver-DwjFet6U.js +1 -0
- package/dist/assets/store-4JNNn732.js +1 -0
- package/dist/assets/store-BFC7DZcg.js +1 -0
- package/dist/assets/store-BFrJaSxJ.js +1 -0
- package/dist/assets/store-DXmC_fP2.js +0 -0
- package/dist/assets/store-DgG0C1Qx.js +1 -0
- package/dist/assets/streamParse-DRgMHWye.js +2 -0
- package/dist/assets/student.generated-DS_acPaJ.js +1 -0
- package/dist/assets/swift-DonLKvLd.js +1 -0
- package/dist/assets/tables-Dzd3rTqG.js +1 -0
- package/dist/assets/time-BHTmJR1s.js +1 -0
- package/dist/assets/toast-BBNs2h3L.js +1 -0
- package/dist/assets/toml-CcmNWLt0.js +1 -0
- package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
- package/dist/assets/tsx-5f3ulCja.js +1 -0
- package/dist/assets/tsx-BOvsFOI6.js +1 -0
- package/dist/assets/typeof-B5XbjTb1.js +1 -0
- package/dist/assets/typescript-Utq2Cl8c.js +1 -0
- package/dist/assets/typescript-j_1H8WHN.js +1 -0
- package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
- package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
- package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
- package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
- package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
- package/dist/assets/useSrsCards-CagZefwX.js +1 -0
- package/dist/assets/useStudy-Bflreq2a.js +1 -0
- package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
- package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
- package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
- package/dist/assets/verbatim-CBMzUDlf.js +1 -0
- package/dist/assets/worker-BbLKfGzm.js +2 -0
- package/dist/assets/xml-WY0zc4PG.js +1 -0
- package/dist/assets/yaml-CxbubiML.js +1 -0
- package/dist/assets/yaml-DijMHRDA.js +1 -0
- package/dist/demo-assets/CREDITS.md +40 -0
- package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
- package/dist/demo-assets/images/capelinhos.jpg +0 -0
- package/dist/demo-assets/images/cliff-fields.jpg +0 -0
- package/dist/demo-assets/images/crater-panorama.jpg +0 -0
- package/dist/demo-assets/images/furnas-lake.jpg +0 -0
- package/dist/demo-assets/images/green-coast.jpg +0 -0
- package/dist/demo-assets/images/overcast-coast.jpg +0 -0
- package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
- package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
- package/dist/demo-assets/images/sete-cidades.jpg +0 -0
- package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
- package/dist/demo-assets/images/slide-placeholder.svg +9 -0
- package/dist/demo-assets/images/village-street.jpg +0 -0
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/azores-film.mp4 +0 -0
- package/dist/favicon.svg +19 -0
- package/dist/fonts/LICENSE.txt +34 -0
- package/dist/fonts/archivo-var-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
- package/dist/fonts/export/families/archivo.css +12 -0
- package/dist/fonts/export/families/bodoni-moda.css +23 -0
- package/dist/fonts/export/families/eb-garamond.css +22 -0
- package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
- package/dist/fonts/export/families/instrument-serif.css +22 -0
- package/dist/fonts/export/families/jetbrains-mono.css +12 -0
- package/dist/fonts/export/families/libre-franklin.css +12 -0
- package/dist/fonts/export/families/lora.css +22 -0
- package/dist/fonts/export/families/source-serif-4.css +12 -0
- package/dist/fonts/export/families/space-grotesk.css +12 -0
- package/dist/fonts/export/families/spectral.css +52 -0
- package/dist/fonts/fonts.css +141 -0
- package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
- package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
- package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
- package/dist/fonts/lora-var-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
- package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
- package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-latin.woff2 +0 -0
- package/dist/fonts/spectral-600-latin.woff2 +0 -0
- package/dist/index.html +117 -0
- package/dist/legal/DISCLAIMER.md +16 -0
- package/dist/legal/LICENSE.txt +75 -0
- package/dist/legal/PRIVACY.md +127 -0
- package/dist/legal/SECURITY.md +72 -0
- package/dist/legal/SUPPORT.md +13 -0
- package/dist/legal/TERMS.md +122 -0
- package/dist/legal/THIRD-PARTY.txt +639 -0
- package/dist/legal/TRADEMARKS.md +15 -0
- package/dist/ort-wasm-simd-threaded.mjs +59 -0
- package/dist/sw.js +30 -0
- package/dist/vad.worklet.bundle.min.js +1 -0
- package/docker-compose.yml +33 -0
- package/gateway/README.md +99 -0
- package/gateway/actions-gateway.mjs +537 -0
- package/gateway/connectors.d.mts +27 -0
- package/gateway/connectors.mjs +463 -0
- package/gateway/guard.mjs +110 -0
- package/gateway/tokenStore.mjs +134 -0
- package/package.json +143 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.stats-card .card-eyebrow,.stats-card .insight-stat .big{white-space:normal;overflow-wrap:anywhere;min-width:0}.stats-card .insight-summary{overflow-wrap:anywhere}.stats-delta-up{color:var(--insight)}.stats-delta-down{color:var(--danger)}.ss-unit{font-size:var(--fs-sm);margin-top:2px}.ss-spark{position:relative;overflow:hidden}.ss-svg{width:100%;height:56px;display:block;overflow:visible}.ss-svg circle{transition:cx var(--m-fast) var(--ease-out), cy var(--m-fast) var(--ease-out)}.ss-svg line{transition:x1 var(--m-fast) var(--ease-out), x2 var(--m-fast) var(--ease-out)}.ss-tip{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:8px;padding-top:8px;display:flex}.ss-tip-v{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:700}.ss-tip-l{font-size:var(--fs-sm);overflow-wrap:anywhere;min-width:0}.ss-unit{overflow-wrap:anywhere}.ct-num{font-size:var(--fs-stat);letter-spacing:-.035em;overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;min-width:0;margin:4px 0 10px;font-weight:760;line-height:1;display:flex}.ct-affix{opacity:.85;font-size:.72em;font-weight:650}.ct-affix:first-child{margin-right:1px}.ct-affix:last-child{margin-left:2px}.ct-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ct-label{font-size:var(--fs-sm);color:var(--text-secondary);overflow-wrap:anywhere;min-width:0;font-weight:600}.hero-value{font-size:var(--fs-hero,64px);letter-spacing:-.045em;color:var(--hero-c,var(--presence));overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;min-width:0;margin:6px 0 10px;font-weight:780;line-height:.95;display:flex}.hero-unit{font-size:var(--fs-xl,22px);color:var(--text-muted);letter-spacing:-.01em;margin-left:8px;font-weight:600}.hero-narrative{font-size:var(--fs-md,14.5px);color:var(--text-secondary);text-wrap:pretty;margin-bottom:12px;line-height:1.5}.hero-chip{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-sm);border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-glass);transition:border-color var(--m-fast), background var(--m-fast), transform var(--m-fast) var(--ease-spring);align-items:center;gap:5px;padding:5px 10px;font-weight:650;display:inline-flex}.hero-chip.up{color:var(--insight)}.hero-chip.down{color:var(--danger)}.hero-chip:hover,.hero-chip.open{border-color:var(--line-strong);background:var(--surface-glass-strong);transform:translateY(-1px)}.hero-chip-caret{transition:transform var(--m-fast) var(--ease-out);opacity:.7}.hero-chip.open .hero-chip-caret{transform:rotate(90deg)}.hero-detail{opacity:0;max-height:0;font-size:var(--fs-md);color:var(--text-secondary);transition:max-height var(--m-normal) var(--ease-out), opacity var(--m-normal), margin-top var(--m-normal);margin-top:0;line-height:1.5;overflow:hidden}.hero-detail[data-open=true]{opacity:1;max-height:140px;margin-top:12px}.tt-body{justify-content:space-between;align-items:flex-end;gap:16px;max-width:460px;display:flex}.tt-left{min-width:0}.tt-value{font-size:var(--fs-stat);letter-spacing:-.03em;overflow-wrap:anywhere;font-weight:740;line-height:1}.tt-delta{font-size:var(--fs-md);overflow-wrap:anywhere;margin-top:8px}.tt-bars{flex:1 1 0;min-width:0;max-width:130px;height:56px;display:block}.tt-bar{transition:fill var(--m-fast) var(--ease-out)}.tt-bar.on{filter:brightness(1.06)}.tt-bars:hover .tt-bar:hover{filter:brightness(1.1)}@media (prefers-reduced-motion:no-preference){.tt-bar{animation:ttBarEnter var(--m-normal) var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 35ms)}}@keyframes ttBarEnter{0%{opacity:0;transform:scaleY(.3)}to{opacity:1;transform:scaleY(1)}}.sb-body{align-items:center;gap:18px;display:flex}@container (width<=340px){.sb-body{flex-direction:column;align-items:stretch;gap:14px}.sb-ring{align-self:center}}.sb-ring{flex-shrink:0;width:116px;height:116px;position:relative}.sb-svg{width:116px;height:116px;display:block}@media (prefers-reduced-motion:no-preference){.sb-arc{transition:stroke-dashoffset var(--m-expressive) var(--ease-out)}}.sb-center{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.sb-score{font-size:var(--fs-2xl);letter-spacing:-.03em;font-weight:780;line-height:1}.sb-sub{font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.sb-list{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.sb-caption{font-size:var(--fs-sm);margin-bottom:2px}.sb-comp{border-radius:var(--r-sm);transition:background var(--m-fast);grid-template-columns:8px 1fr 56px auto;align-items:center;gap:8px;padding:3px 6px;display:grid}.sb-comp.on{background:var(--surface-glass)}.sb-comp-dot{border-radius:var(--r-full);width:7px;height:7px}.sb-comp-label{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sb-comp-track{border-radius:var(--r-full);background:var(--track);height:5px;overflow:hidden}.sb-comp-fill{border-radius:var(--r-full);height:100%;transition:width var(--m-expressive) var(--ease-out);display:block}.sb-comp-val{font-size:var(--fs-sm);color:var(--text-muted);text-align:right;transition:color var(--m-fast);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.pb-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.pb-value{font-size:var(--fs-2xl);letter-spacing:-.03em;overflow-wrap:anywhere;min-width:0;font-weight:740}.pb-unit{font-size:var(--fs-sm);overflow-wrap:anywhere}.pb-pct{font-size:var(--fs-sm);color:var(--text-muted);flex-shrink:0;margin-left:auto;font-weight:650}.pb-track{border-radius:var(--r-full);background:var(--track);height:16px;margin:6px 0 8px;position:relative;overflow:visible}.pb-grad{border-radius:var(--r-full);opacity:.5;background:linear-gradient(90deg, var(--cell-empty), var(--grid-strong));position:absolute;inset:0}.pb-tick{background:var(--grid-line);width:1px;position:absolute;top:0;bottom:0}.pb-fill{border-radius:var(--r-full);transition:width var(--m-expressive) var(--ease-out);position:absolute;top:0;bottom:0;left:0}.pb-marker{border-radius:var(--r-full);width:3px;box-shadow:0 0 0 3px var(--surface-elevated);transition:left var(--m-expressive) var(--ease-out);position:absolute;top:-3px;bottom:-3px;transform:translate(-50%)}.pb-tip{--pb-tip-bias:0%;transform:translateX(calc(-50% + var(--pb-tip-bias))) translateY(4px);white-space:nowrap;font-size:var(--fs-xs);color:var(--text-primary);border-radius:var(--r-full);background:var(--surface-elevated-2);opacity:0;pointer-events:none;transition:opacity var(--m-fast), transform var(--m-fast) var(--ease-out);border:1px solid;padding:3px 8px;font-weight:700;position:absolute;bottom:calc(100% + 8px);left:50%}.pb-tip.on{opacity:1;transform:translateX(calc(-50% + var(--pb-tip-bias))) translateY(0)}.pb-axis{font-size:var(--fs-xs);justify-content:space-between;gap:8px;display:flex}.pb-axis span{overflow-wrap:anywhere;min-width:0}.sp-row{align-items:stretch;gap:8px;display:flex}.sp-side{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-glass);text-align:center;min-width:0;transition:border-color var(--m-fast), background var(--m-fast), transform var(--m-fast) var(--ease-spring);flex:1 1 0;padding:12px}.sp-side.on{border-color:var(--line-strong);background:var(--surface-glass-strong);transform:translateY(-2px)}.sp-val{font-size:var(--fs-2xl);letter-spacing:-.03em;overflow-wrap:anywhere;font-weight:740;line-height:1}.sp-label{font-size:var(--fs-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;margin-top:6px;font-weight:650}.sp-sub{font-size:var(--fs-xs);overflow-wrap:anywhere;margin-top:3px}.sp-connector{flex-shrink:0;justify-content:center;align-items:center;display:flex}.sp-arrow{font-size:var(--fs-xl);color:var(--text-muted);font-weight:400}.sp-bar{border-radius:var(--r-full);background:var(--track);height:8px;margin:14px 0 8px;display:flex;overflow:hidden}.sp-bar-l,.sp-bar-r{height:100%;transition:width var(--m-expressive) var(--ease-out)}.sp-bar-l{border-radius:var(--r-full) 0 0 var(--r-full)}.sp-bar-r{border-radius:0 var(--r-full) var(--r-full) 0}.sp-ratio{justify-content:center;align-items:baseline;gap:6px;display:flex}.sp-ratio-v{font-size:var(--fs-xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:740}.sp-ratio-l{font-size:var(--fs-sm)}.sc-grid{grid-template-columns:repeat(var(--sc-cols,2), minmax(0, 1fr));gap:10px;display:grid}.sc-tile{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-glass);transition:border-color var(--m-fast), background var(--m-fast), transform var(--m-fast) var(--ease-spring), box-shadow var(--m-fast);padding:12px;position:relative}.sc-tile.on{border-color:var(--line-strong);background:var(--surface-glass-strong);box-shadow:var(--shadow-raised);transform:translateY(-3px)}.sc-tile-top{align-items:center;gap:6px;margin-bottom:8px;display:flex}.sc-tile-ic{flex-shrink:0;width:14px;height:14px}.sc-tile-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:700;overflow:hidden}.sc-tile-val{font-size:var(--fs-2xl);letter-spacing:-.025em;overflow-wrap:anywhere;font-weight:740;line-height:1}.sc-tile-delta{font-size:var(--fs-sm);overflow-wrap:anywhere;margin-top:6px}.sc-tile-detail{opacity:0;max-height:0;font-size:var(--fs-xs);color:var(--text-secondary);transition:max-height var(--m-normal) var(--ease-out), opacity var(--m-normal), margin-top var(--m-normal);margin-top:0;line-height:1.45;overflow:hidden}.sc-tile-detail[data-open=true]{opacity:1;max-height:90px;margin-top:8px}.dc-list{flex-direction:column;gap:2px;display:flex}.dc-step{border-radius:var(--r-md);transition:background var(--m-fast);padding:9px 10px;position:relative}.dc-step:before{content:"";background:var(--line-strong);width:1px;height:6px;position:absolute;top:-2px;left:16px}.dc-step:first-child:before{display:none}.dc-step.on{background:var(--surface-glass)}.dc-step.base{border-bottom:1px dashed var(--line);border-radius:var(--r-md) var(--r-md) 0 0}.dc-step.total{border-top:1px solid var(--line-strong);background:var(--surface-glass);margin-top:4px}.dc-step.total .dc-step-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:var(--fs-sm)}.dc-step-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dc-step-label{font-size:var(--fs-sm);color:var(--text-secondary);overflow-wrap:anywhere;min-width:0}.dc-step-delta{font-size:var(--fs-md);letter-spacing:-.01em;flex-shrink:0;font-weight:700}.dc-step.total .dc-step-delta{font-size:var(--fs-xl)}.dc-step-track{border-radius:var(--r-full);background:var(--track);height:5px;margin:7px 0 4px;overflow:hidden}.dc-step-fill{border-radius:var(--r-full);height:100%;transition:width var(--m-expressive) var(--ease-out);display:block}.dc-run{font-size:var(--fs-xs);overflow-wrap:anywhere}.dc-detail{opacity:0;max-height:0;font-size:var(--fs-xs);color:var(--text-secondary);transition:max-height var(--m-normal) var(--ease-out), opacity var(--m-normal), margin-top var(--m-normal);margin-top:0;line-height:1.45;overflow:hidden}.dc-detail[data-open=true]{opacity:1;max-height:90px;margin-top:6px}.bk-list{flex-direction:column;gap:14px;display:flex}.bk-row{transition:transform var(--m-fast) var(--ease-out)}.bk-row.on{transform:translate(2px)}.bk-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.bk-label{font-size:var(--fs-sm);color:var(--text-secondary);overflow-wrap:anywhere;min-width:0;font-weight:600}.bk-val{font-size:var(--fs-lg);letter-spacing:-.02em;flex-shrink:0;font-weight:740}.bk-track{border-radius:var(--r-full);background:var(--track);height:12px;position:relative;overflow:visible}.bk-band{border-radius:var(--r-full);background:linear-gradient(90deg, var(--cell-empty), var(--grid-line));opacity:.6;position:absolute;inset:0}.bk-fill{border-radius:var(--r-full);transition:width var(--m-expressive) var(--ease-out);position:absolute;top:2px;bottom:2px;left:0}.bk-target{border-radius:var(--r-full);background:var(--text-primary);width:2.5px;box-shadow:0 0 0 2px var(--surface-elevated);transition:left var(--m-expressive) var(--ease-out);position:absolute;top:-3px;bottom:-3px;transform:translate(-50%)}.bk-meta{font-size:var(--fs-xs);transition:color var(--m-fast);overflow-wrap:anywhere;margin-top:5px}.bk-meta[data-on=true]{color:var(--text-secondary)}.cfm-wrap{margin-top:4px}.cfm-svg{width:100%;max-width:420px;height:auto;margin-inline:auto;display:block}.cfm-cell{stroke:var(--line-soft);stroke-width:.75px}.cfm-cell--diag{stroke:color-mix(in oklab, var(--presence) 45%, transparent);stroke-width:1.25px}.cfm-frame{stroke:var(--line-strong);stroke-width:1.25px}.cfm-count{fill:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.cfm-count--on{fill:#fff;font-weight:700}.cfm-class{fill:var(--text-muted);font-size:10px;font-weight:600}.cfm-axis-title{fill:var(--text-secondary);font-size:10.5px;font-style:italic;font-weight:600}.cfm-total{fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:10px}.cfm-total-hd{fill:var(--text-faint);font-size:11px;font-weight:700}.cfm-readout{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:10px;padding-top:10px;display:flex}.cfm-acc{font-size:var(--fs-xl,22px);font-weight:700;line-height:1}.cfm-acc-lbl{font-size:var(--fs-2xs,10px)}.cfm-pc{border-top:1px solid var(--line-soft);flex-direction:column;gap:3px;margin-top:10px;padding-top:10px;display:flex}.cfm-pc-row{grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;display:grid}.cfm-pc-head{font-size:var(--fs-2xs,10px);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line-soft);margin-bottom:2px;padding-bottom:2px}.cfm-pc-name{font-size:var(--fs-xs,12px);color:var(--text-secondary);overflow-wrap:anywhere;min-width:0}.cfm-pc-val{font-size:var(--fs-xs,12px);color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;min-width:52px}.cfm-empty{font-size:var(--fs-xs,12px);padding:12px 0}.kd-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px;margin-top:4px;display:grid}.kd-tile{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-glass);min-width:0;transition:border-color var(--m-fast), background var(--m-fast), transform var(--m-fast) var(--ease-spring), box-shadow var(--m-fast);flex-direction:column;padding:12px;display:flex}.kd-tile:hover{border-color:var(--line-strong);background:var(--surface-glass-strong);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.kd-tile-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;min-width:0;font-weight:700}.kd-tile-val{font-size:var(--fs-2xl);letter-spacing:-.03em;color:var(--text-primary);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;min-width:0;margin-top:6px;font-weight:740;line-height:1;display:flex}.kd-tile-unit{color:var(--text-muted);letter-spacing:0;margin-left:3px;font-size:.56em;font-weight:650}.kd-tile-delta{font-size:var(--fs-sm);align-items:center;gap:3px;min-width:0;margin-top:6px;font-weight:650;display:inline-flex}.kd-tile-delta-t{overflow-wrap:anywhere;min-width:0}.kd-tile-spark{width:100%;margin-top:10px}.kd-spark{width:100%;max-width:100%;height:40px;display:block;overflow:hidden}.kd-spark circle{transition:cx var(--m-fast) var(--ease-out), cy var(--m-fast) var(--ease-out)}.kd-tile-conf{font-size:var(--fs-xs);overflow-wrap:anywhere;min-width:0;margin-top:8px}.kd-caption{font-size:var(--fs-sm);overflow-wrap:anywhere;margin-top:12px}.abt-head{margin-bottom:12px}.abt-badge{border-radius:var(--r-full);font-size:var(--fs-sm);letter-spacing:.01em;color:var(--text-muted);background:var(--surface-glass);border:1px solid var(--line);align-items:center;gap:6px;padding:4px 11px;font-weight:700;display:inline-flex}.abt-badge.on{color:var(--presence);background:color-mix(in oklab, var(--presence) 14%, transparent);border-color:color-mix(in oklab, var(--presence) 34%, transparent)}.abt-badge-ic{stroke-width:2.6px;width:13px;height:13px}.abt-badge-p{opacity:.75;font-variant-numeric:tabular-nums;font-weight:600}.abt-row{align-items:stretch;gap:8px;display:flex}.abt-side{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-glass);text-align:center;min-width:0;transition:border-color var(--m-fast), background var(--m-fast), transform var(--m-fast) var(--ease-spring);flex:1 1 0;padding:12px}.abt-side.on{border-color:var(--line-strong);background:var(--surface-glass-strong);transform:translateY(-2px)}.abt-name{font-size:var(--fs-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;min-width:0;font-weight:650}.abt-val{font-size:var(--fs-2xl);letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:6px;font-weight:740;line-height:1}.abt-n{font-size:var(--fs-xs);overflow-wrap:anywhere;margin-top:4px}.abt-connector{flex-shrink:0;justify-content:center;align-items:center;display:flex}.abt-arrow{font-size:var(--fs-xl);color:var(--text-muted);font-weight:400}.abt-lift{justify-content:center;align-items:baseline;gap:6px;margin:14px 0 4px;display:flex}.abt-lift-v{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:740}.abt-lift-l{font-size:var(--fs-sm)}.abt-ci{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:12px}.abt-ci-lbl{font-size:var(--fs-xs);margin-bottom:10px;display:block}.abt-ci-track{border-radius:var(--r-full);background:var(--track);height:6px;margin:4px 1px;position:relative}.abt-ci-band{border-radius:var(--r-full);background:color-mix(in oklab, var(--presence) 45%, transparent);position:absolute;top:0;bottom:0}.abt-ci-zero{background:var(--text-muted);width:2px;position:absolute;top:-4px;bottom:-4px;transform:translate(-50%)}.abt-ci-point{border-radius:var(--r-full);background:var(--presence);border:2px solid var(--surface-elevated);width:10px;height:10px;box-shadow:0 0 0 1px var(--line-strong);position:absolute;top:50%;transform:translate(-50%,-50%)}.abt-ci-labels{font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;gap:8px;margin-top:6px;display:flex}.abt-ci-labels span{overflow-wrap:anywhere;min-width:0}.ps-head{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.ps-n-row{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.ps-n{font-size:var(--fs-hero,56px);letter-spacing:-.04em;color:var(--presence);font-weight:780;line-height:1}.ps-n-suffix{font-size:var(--fs-md);color:var(--text-muted);font-weight:600}.ps-power-line{font-size:var(--fs-md);color:var(--text-secondary);overflow-wrap:anywhere}.ps-power-line strong{color:var(--text-primary);font-weight:700}.ps-power-arrow{color:var(--text-muted);font-weight:400}.ps-stats{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:18px;margin-bottom:4px;padding-top:10px;display:flex}.ps-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.ps-stat-k{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ps-stat-v{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:700}.ps-curve-wrap{margin-top:10px}.ps-svg{width:100%;max-width:420px;height:auto;margin-inline:auto;display:block;overflow:visible}.ps-grid{stroke:var(--grid-line);stroke-width:1px}.ps-axis{stroke:var(--line-strong);stroke-width:1px}.ps-tick{fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:9px}.ps-line{stroke:var(--presence);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.ps-mark-guide{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 3}.ps-mark{fill:var(--surface-elevated);stroke:var(--presence);stroke-width:2.5px}.ir-list{flex-direction:column;gap:16px;display:flex}.ir-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 10px;margin-bottom:6px;display:flex}.ir-id{flex:150px;align-items:baseline;gap:8px;min-width:0;display:flex}.ir-sku{font-family:var(--font-mono,ui-monospace, "Cascadia Code", "Fira Code", monospace);color:var(--text-muted);letter-spacing:.01em;flex-shrink:0;font-size:10.5px;font-weight:600}.ir-label{font-size:var(--fs-sm);color:var(--text-secondary);overflow-wrap:anywhere;min-width:0;font-weight:600}.ir-status{text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-size:11px;font-weight:700}.ir-track{height:12px;position:relative;overflow:visible}.ir-track-inner{border-radius:var(--r-full);background:var(--track);position:absolute;inset:0;overflow:hidden}.ir-zone{height:100%;position:absolute;inset:0 auto 0 0}.ir-zone--danger{background:color-mix(in oklab, var(--danger) 22%, transparent)}.ir-zone--warn{background:color-mix(in oklab, var(--warning) 22%, transparent)}.ir-zone--good{background:color-mix(in oklab, var(--insight) 16%, transparent)}.ir-fill{border-radius:var(--r-full);transition:width var(--m-expressive) var(--ease-out), background var(--m-fast);position:absolute;top:2px;bottom:2px;left:0}.ir-tick{border-radius:var(--r-full);background:var(--text-primary);width:2.5px;box-shadow:0 0 0 2px var(--surface-elevated);position:absolute;top:-3px;bottom:-3px;transform:translate(-50%)}.ir-meta{font-size:var(--fs-xs);overflow-wrap:anywhere;margin-top:5px}.bgs-game{text-transform:none;letter-spacing:normal;margin-left:auto;font-weight:500}.bgs-scroll{margin:0 -2px;padding:0 2px 2px;overflow-x:auto}.bgs-grid{grid-template-columns:minmax(56px, auto) repeat(var(--bgs-cols,1), minmax(72px, 1fr));background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);gap:1px;display:grid;overflow:hidden}.bgs-cell{background:var(--surface-elevated);font-size:var(--fs-xs);align-items:center;min-width:0;padding:7px 10px;display:flex}.bgs-head{background:var(--surface-glass-strong);font-size:11px;font-weight:700}.bgs-player{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;gap:5px}.bgs-name{overflow-wrap:anywhere;min-width:0}.bgs-crown{color:var(--warning);flex-shrink:0;font-size:9px}.bgs-rowlabel{color:var(--text-muted);font-weight:600}.bgs-totallabel{color:var(--text-secondary);font-weight:700}.bgs-score{color:var(--text-secondary);justify-content:center}.bgs-total{font-weight:750;font-size:var(--fs-sm);justify-content:center}.bgs-total.lead{color:var(--insight);background:color-mix(in oklab, var(--insight) 12%, var(--surface-elevated))}.bgs-lead-note{font-size:var(--fs-xs);margin:8px 0 0}.cvss-cve{font-family:var(--font-mono,ui-monospace, "Cascadia Code", "Fira Code", monospace);color:var(--text-muted);text-transform:none;letter-spacing:.01em;margin-left:auto;font-size:10.5px;font-weight:600}.cvss-body{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.cvss-side{flex:160px;min-width:0}.cvss-chips{flex-wrap:wrap;gap:7px;display:flex}.cvss-chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-glass);align-items:baseline;gap:5px;min-width:0;padding:4px 9px;font-size:11.5px;display:inline-flex}.cvss-chip-k{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-weight:700}.cvss-chip-v{color:var(--text-secondary);overflow-wrap:anywhere;font-weight:600}.rp-svg{width:100%;max-width:420px;height:auto;margin-inline:auto;display:block;overflow:visible}.rp-baseline{stroke:var(--grid-line);stroke-width:1px}.rp-area{opacity:.55}.rp-stroke{stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.rp-label{fill:var(--text-secondary);font-size:10.5px;font-weight:600}.ecdf-svg{width:100%;max-width:420px;height:auto;margin-inline:auto;display:block;overflow:visible}.ecdf-grid{stroke:var(--grid-line);stroke-width:1px}.ecdf-axis{stroke:var(--line-strong);stroke-width:1px}.ecdf-tick{fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:9px}.ecdf-mark-guide{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 3}.ecdf-line{stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.ecdf-caption{font-size:var(--fs-xs);margin:8px 0 0}.fpl-svg{width:100%;max-width:560px;height:auto;margin-inline:auto;display:block;overflow:visible}.fpl-colhead{fill:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:700}.fpl-null{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:4 3}.fpl-sep{stroke:var(--line-soft);stroke-width:1px}.fpl-axis{stroke:var(--line-strong);stroke-width:1px}.fpl-tick{fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:9px}.fpl-favors{fill:var(--text-muted);font-weight:600}.fpl-lbl{fill:var(--text-secondary);transition:fill var(--m-fast);font-weight:600}.fpl-lbl--pooled{fill:var(--text-primary);font-weight:700}.fpl-ci{stroke:var(--text-muted);stroke-width:1.4px;stroke-linecap:round}.fpl-sq{fill:var(--presence);transition:filter var(--m-fast)}.fpl-diamond{fill:var(--presence);stroke:color-mix(in oklab, var(--presence-deep) 60%, transparent);stroke-width:1px}.fpl-wt{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:9.5px}.fpl-wt--pooled{fill:var(--text-secondary);font-weight:700}.fpl-row--clamped .fpl-ci{stroke:var(--warning)}.fpl-row--clamped .fpl-sq{fill:var(--warning)}.fpl-row:hover .fpl-sq{filter:brightness(1.12)}.fpl-row:hover .fpl-lbl{fill:var(--text-primary)}.fpl-caption{font-size:var(--fs-xs);overflow-wrap:anywhere;margin:8px 0 0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./react-BQSORdFI.js";import{t as n}from"./jsx-runtime-DaSxXjOY.js";import{ht as r}from"./index-y8GL67bB.js";import{n as i}from"./icons-CHVz6kv_.js";import{t as a}from"./richText-BkxJhl9N.js";import{i as o,r as s}from"./format-DlZTyeMy.js";import{a as c,i as l,n as u,r as d,t as f}from"./scale-Bcgfo6Hp.js";import{n as p,r as m,t as h}from"./BlockEmpty-CLtVQf6c.js";import{n as g,t as _}from"./motion-S0NRruNj.js";import{t as v}from"./registry-types-DMuK0vJ6.js";import{n as y}from"./fitText-CDFmCQzl.js";var b=t(),x=n(),S=340,C=280,w={top:18,right:16,bottom:50,left:52},T=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`];function E({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,curves:r,operatingPoint:o,xLabel:s,yLabel:c,caption:u,footer:d,delay:f}){let p=i[t]||i.chart,[m,h]=(0,b.useState)(o??0),g=S-w.left-w.right,_=C-w.top-w.bottom,v=(0,b.useMemo)(()=>l([0,1],[w.left,w.left+g]),[g]),y=(0,b.useMemo)(()=>l([0,1],[w.top+_,w.top]),[_]),E=e=>{if(!e.length)return{d:``,fill:``};let t=`M${[...e].sort((e,t)=>e.fpr-t.fpr).map(e=>`${v(e.fpr)},${y(e.tpr)}`).join(`L`)}`;return{d:t,fillD:`${t}L${v(1)},${y(0)}L${v(0)},${y(0)}Z`}},D=r[0],O=D&&D.points.length>0&&m<D.points.length?D.points[m]:null,k=[0,.2,.4,.6,.8,1];return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`roc-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${S} ${C}`,className:`roc-svg`,role:`img`,"aria-label":e??`ROC curve`,children:[(0,x.jsx)(`defs`,{children:r.map((e,t)=>(0,x.jsx)(`clipPath`,{id:`roc-clip-${t}`,children:(0,x.jsx)(`rect`,{x:w.left,y:w.top,width:g,height:_})},`cp${t}`))}),k.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:v(e),y1:w.top,x2:v(e),y2:w.top+_,className:`roc-gridline`}),(0,x.jsx)(`line`,{x1:w.left,y1:y(e),x2:w.left+g,y2:y(e),className:`roc-gridline`})]},`g${e}`)),(0,x.jsx)(`line`,{x1:v(0),y1:y(0),x2:v(1),y2:y(1),className:`roc-diagonal`,strokeDasharray:`5 4`}),r.map((e,t)=>{let n=e.color??T[t%T.length],{fillD:r}=E(e.points);return(0,x.jsx)(`path`,{d:r,fill:`color-mix(in oklab, ${n} 14%, transparent)`,clipPath:`url(#roc-clip-${t})`},`fill${t}`)}),r.map((e,t)=>{let n=e.color??T[t%T.length],{d:r}=E(e.points);return(0,x.jsx)(`path`,{d:r,fill:`none`,stroke:n,strokeWidth:2.5,strokeLinejoin:`round`,clipPath:`url(#roc-clip-${t})`},`curve${t}`)}),O&&D&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:v(O.fpr),cy:y(O.tpr),r:8,className:`roc-op`,style:{cursor:`pointer`}}),D.points.map((e,t)=>(0,x.jsx)(`circle`,{cx:v(e.fpr),cy:y(e.tpr),r:10,fill:`transparent`,style:{cursor:`pointer`},onClick:()=>h(t),"aria-label":`Set operating point to FPR=${e.fpr.toFixed(2)}, TPR=${e.tpr.toFixed(2)}`},`hit${t}`))]}),(0,x.jsx)(`line`,{x1:w.left,y1:w.top+_,x2:w.left+g,y2:w.top+_,className:`roc-axis`}),(0,x.jsx)(`line`,{x1:w.left,y1:w.top,x2:w.left,y2:w.top+_,className:`roc-axis`}),k.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:v(e),y1:w.top+_,x2:v(e),y2:w.top+_+4,className:`roc-tick`}),(0,x.jsx)(`text`,{x:v(e),y:w.top+_+16,textAnchor:`middle`,className:`roc-tick-label`,children:e===0?`0`:e===1?`1`:e.toFixed(1)})]},`xt${e}`)),k.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:w.left-4,y1:y(e),x2:w.left,y2:y(e),className:`roc-tick`}),(0,x.jsx)(`text`,{x:w.left-8,y:y(e)+4,textAnchor:`end`,className:`roc-tick-label`,children:e===0?`0`:e===1?`1`:e.toFixed(1)})]},`yt${e}`)),(0,x.jsx)(`text`,{x:w.left+g/2,y:w.top+_+36,textAnchor:`middle`,className:`roc-axis-label`,children:s??`False Positive Rate (FPR)`}),(0,x.jsx)(`text`,{x:0,y:0,textAnchor:`middle`,className:`roc-axis-label`,transform:`translate(14, ${w.top+_/2}) rotate(-90)`,children:c??`True Positive Rate (TPR)`})]})}),O&&D&&(0,x.jsxs)(`div`,{className:`roc-readout`,"aria-live":`polite`,children:[(0,x.jsxs)(`span`,{className:`roc-readout-item`,children:[(0,x.jsx)(`span`,{className:`roc-readout-key`,children:`TPR`}),(0,x.jsx)(`span`,{className:`roc-readout-val`,children:O.tpr.toFixed(3)})]}),(0,x.jsxs)(`span`,{className:`roc-readout-item`,children:[(0,x.jsx)(`span`,{className:`roc-readout-key`,children:`FPR`}),(0,x.jsx)(`span`,{className:`roc-readout-val`,children:O.fpr.toFixed(3)})]}),O.threshold!==void 0&&(0,x.jsxs)(`span`,{className:`roc-readout-item`,children:[(0,x.jsx)(`span`,{className:`roc-readout-key`,children:`Threshold`}),(0,x.jsx)(`span`,{className:`roc-readout-val`,children:O.threshold.toFixed(3)})]})]}),(0,x.jsxs)(`div`,{className:`roc-legend`,children:[r.map((e,t)=>(0,x.jsxs)(`div`,{className:`roc-legend-item`,children:[(0,x.jsx)(`span`,{className:`roc-legend-dot`,style:{background:e.color??T[t%T.length]}}),(0,x.jsx)(`span`,{className:`roc-legend-name`,children:e.name}),e.auc!==void 0&&(0,x.jsxs)(`span`,{className:`roc-legend-auc`,children:[`AUC `,e.auc.toFixed(3)]})]},t)),(0,x.jsxs)(`div`,{className:`roc-legend-item roc-legend-diagonal`,children:[(0,x.jsx)(`span`,{className:`roc-legend-dash`}),(0,x.jsx)(`span`,{className:`roc-legend-name`,children:`Random`}),(0,x.jsx)(`span`,{className:`roc-legend-auc`,children:`AUC 0.500`})]})]}),u&&(0,x.jsx)(`p`,{className:`roc-caption`,children:u}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(d)})]})}var D=340,O=220,k=52,A=16,j=16,M=44,N=D-k-A,P=O-j-M;function F(e,t=`$`){return Math.abs(e)>=1e6?`${t}${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${t}${Math.round(e/1e3)}K`:`${t}${Math.round(e)}`}function I({title:e=`Cash Runway`,icon:t=`chart`,iconColor:n=`var(--presence)`,months:r,initialCash:o,runwayMonths:s,currency:l=`$`,footer:u,delay:f}){let p=(0,b.useId)().replace(/:/g,``),m=i[t]??i.chart,h=(0,b.useMemo)(()=>{if(!r.length)return null;let e=o??(r[0].balance===void 0?0:r[0].balance+r[0].burn),t=r.map(t=>(t.balance===void 0?e-=t.burn:e=t.balance,{label:t.label,burn:t.burn,balance:e})),n=o??t[0].balance+t[0].burn,i=Math.max(...t.map(e=>e.burn),1),a=Math.max(n,i)*1.05,l=c(0,a,d(a)).filter(e=>e<=a),u=e=>176-Math.max(0,e)/a*P,f=N/r.length,p=f*.55,m=e=>k+e*f+f/2,h=[`${k},${u(n)}`,...t.map((e,t)=>`${m(t)},${u(e.balance)}`)].join(` `),g=s;if(g==null){let e=t[t.length-1].balance;if(e<=0){let e=t.findIndex(e=>e.balance<=0);g=e>=0?e+1:r.length}else{let n=t.reduce((e,t)=>e+t.burn,0)/t.length;g=n>0?Math.round(e/n)+r.length:99}}return{data:t,yTicks:l,yHi:a,toX:m,sy:u,balancePts:h,barW:p,runway:g}},[r,o,s]);if(!h)return null;let{data:g,yTicks:_,yHi:v,toX:y,sy:S,balancePts:C,barW:w,runway:T}=h,E=`br-${p}`,M=g[g.length-1].balance,I=T<12?`var(--danger)`:T<18?`var(--warning)`:`var(--insight)`;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),e]}),(0,x.jsxs)(`svg`,{viewBox:`0 0 ${D} ${O}`,width:`100%`,role:`img`,"aria-label":e,style:{display:`block`,overflow:`visible`},children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`clipPath`,{id:E,children:(0,x.jsx)(`rect`,{x:k,y:j,width:N,height:P})})}),_.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:k,y1:S(e),x2:D-A,y2:S(e),stroke:`var(--grid-line)`,strokeWidth:.8}),(0,x.jsx)(`text`,{x:k-4,y:S(e)+4,textAnchor:`end`,fontSize:9,fill:`var(--text-muted)`,fontFamily:`inherit`,children:F(e,l)})]},e)),(0,x.jsx)(`line`,{x1:k,y1:S(0),x2:D-A,y2:S(0),stroke:`var(--text-muted)`,strokeWidth:1,strokeDasharray:`3 2`}),g.map((e,t)=>{let n=e.burn/v*P,r=S(0)-n;return(0,x.jsx)(`rect`,{x:y(t)-w/2,y:r,width:w,height:n,fill:`var(--danger)`,fillOpacity:.22,rx:2},t)}),(0,x.jsx)(`polyline`,{points:C,fill:`none`,stroke:`var(--insight)`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,clipPath:`url(#${E})`}),g.map((e,t)=>(0,x.jsx)(`circle`,{cx:y(t),cy:S(e.balance),r:2.5,fill:`var(--insight)`,clipPath:`url(#${E})`},t)),g.map((e,t)=>t%Math.max(1,Math.ceil(g.length/7))!==0&&t!==g.length-1?null:(0,x.jsx)(`text`,{x:y(t),y:189,textAnchor:`middle`,fontSize:9,fill:`var(--text-muted)`,fontFamily:`inherit`,children:e.label},t)),(0,x.jsxs)(`text`,{x:D-A,y:29,textAnchor:`end`,fontSize:12,fontWeight:`600`,fill:I,fontFamily:`inherit`,children:[`≈ `,T,`mo runway`]}),(0,x.jsx)(`text`,{x:y(g.length-1),y:S(Math.max(0,M))-8,textAnchor:`middle`,fontSize:9,fill:`var(--insight)`,fontFamily:`inherit`,children:F(Math.max(0,M),l)})]}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}function L(e,t,n){let r=e.map((e,t)=>({y:e,idx:t})).sort((e,t)=>e.y-t.y),i=r.map(e=>e.y);for(let e=1;e<i.length;e++)i[e]-i[e-1]<t&&(i[e]=i[e-1]+t);let a=i[i.length-1]-n;if(a>0){for(let e=0;e<i.length;e++)i[e]-=a;for(let e=i.length-2;e>=0;e--)i[e+1]-i[e]<t&&(i[e]=i[e+1]-t)}let o=[];return r.forEach((e,t)=>o[e.idx]=Math.max(0,i[t])),o}function ee({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,unit:r=``,beforeLabel:o=`Before`,afterLabel:s=`After`,rows:c,footer:l,delay:u}){let d=i[t]||i.chart,[f,p]=(0,b.useState)(null),m=c.flatMap(e=>[e.before,e.after]),h=Math.max(...m,1),g=Math.min(...m,0),_=c.reduce((e,t,n)=>Math.abs(t.after-t.before)>Math.abs(c[e].after-c[e].before)?n:e,0),v=h-g||1,y=Math.max(200,c.length*34+28),S=e=>14+(1-(e-g)/v)*(y-28),C=L(c.map(e=>S(e.before)),17,y),w=L(c.map(e=>S(e.after)),17,y);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-slope-head`,children:[(0,x.jsx)(`span`,{className:`faint`,children:o}),(0,x.jsx)(`span`,{className:`faint`,children:s})]}),(0,x.jsxs)(`div`,{className:`c2-slope`,style:{height:y},onMouseLeave:()=>p(null),children:[(0,x.jsxs)(`svg`,{role:`img`,"aria-label":e,viewBox:`0 0 320 ${y}`,preserveAspectRatio:`none`,className:`c2-slope-svg`,children:[(0,x.jsx)(`line`,{x1:`40`,y1:`0`,x2:`40`,y2:y,stroke:`var(--grid-line)`}),(0,x.jsx)(`line`,{x1:`280`,y1:`0`,x2:`280`,y2:y,stroke:`var(--grid-line)`}),c.map((e,t)=>{let n=e.color||`var(--presence)`,r=f===t;return(0,x.jsxs)(`g`,{style:{opacity:f!==null&&!r?.18:1,transition:`opacity var(--m-fast)`},children:[(0,x.jsx)(`line`,{x1:`40`,y1:S(e.before),x2:`280`,y2:S(e.after),stroke:n,strokeWidth:r?3:2}),(0,x.jsx)(`circle`,{cx:`40`,cy:S(e.before),r:r?5:3.5,fill:n}),(0,x.jsx)(`circle`,{cx:`280`,cy:S(e.after),r:r?5:3.5,fill:n,"data-mark":t===_?`point`:void 0})]},t)})]}),c.map((e,t)=>{let n=f!==null&&f!==t,i=e.after>=e.before;return(0,x.jsxs)(`div`,{children:[(0,x.jsxs)(`div`,{className:`c2-slope-lbl l`,style:{top:`${C[t]/y*100}%`,opacity:n?.25:1,maxWidth:`62%`},onMouseEnter:()=>p(t),children:[(0,x.jsx)(`span`,{className:`c2-slope-name`,children:e.label}),(0,x.jsxs)(`span`,{className:`tab-num mono`,children:[e.before,r]})]}),(0,x.jsx)(`div`,{className:`c2-slope-lbl r`,style:{top:`${w[t]/y*100}%`,opacity:n?.25:1},onMouseEnter:()=>p(t),children:(0,x.jsxs)(`span`,{className:`tab-num mono`,style:{color:i?`var(--insight)`:`var(--danger)`},children:[e.after,r]})})]},t)})]}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var R=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],te=5.2,z=26;function B(e){return e.length>z?`${e.slice(0,z-1).trimEnd()}…`:e}function ne(e){return e.length*te}function re({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,xLabel:r,yLabel:o,xDomain:s,yDomain:l,curves:u,markers:f=[],origin:p=!0,footer:m,delay:h}){let g=i[t]||i.chart,[_,v]=(0,b.useState)(null),{sx:y,sy:S,axisX:C,axisY:w,xticks:T,yticks:E}=(0,b.useMemo)(()=>{let e=u.flatMap(e=>e.points.map(e=>e.x)).concat(f.map(e=>e.x)),t=u.flatMap(e=>e.points.map(e=>e.y)).concat(f.map(e=>e.y)),n=(e,t)=>{if(e===t)return[e-1,t+1];let n=(t-e)*.06;return[e-n,t+n]},[r,i]=s??n(Math.min(...e,0),Math.max(...e,0)),[a,o]=l??n(Math.min(...t,0),Math.max(...t,0)),m=e=>30+(e-r)/(i-r||1)*250,h=e=>12+(1-(e-a)/(o-a||1))*184;return{xmin:r,xmax:i,ymin:a,ymax:o,sx:m,sy:h,axisX:p&&a<=0&&o>=0?h(0):196,axisY:p&&r<=0&&i>=0?m(0):30,xticks:c(r,i,d(i-r)),yticks:c(a,o,d(o-a))}},[u,f,s,l,p,250,184]);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(h||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-plot`,onMouseLeave:()=>v(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 320 220`,className:`c2-plot-svg`,role:`img`,children:[T.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:y(e),y1:12,x2:y(e),y2:196,className:`c2-plot-grid`}),(0,x.jsx)(`text`,{x:y(e),y:208,className:`c2-plot-tick`,textAnchor:`middle`,children:e})]},`gx${t}`)),E.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:30,y1:S(e),x2:280,y2:S(e),className:`c2-plot-grid`}),(0,x.jsx)(`text`,{x:26,y:S(e)+3,className:`c2-plot-tick`,textAnchor:`end`,children:e})]},`gy${t}`)),(0,x.jsx)(`line`,{x1:30,y1:C,x2:280,y2:C,className:`c2-plot-axis`}),(0,x.jsx)(`line`,{x1:w,y1:12,x2:w,y2:196,className:`c2-plot-axis`}),u.map((e,t)=>{let n=e.color||R[t%R.length],r=_===t,i=_!==null&&!r;return(0,x.jsx)(`polyline`,{points:e.points.map(e=>`${y(e.x)},${S(e.y)}`).join(` `),fill:`none`,stroke:n,strokeWidth:r?3:2,strokeDasharray:e.dashed?`5 4`:void 0,strokeLinejoin:`round`,strokeLinecap:`round`,style:{opacity:i?.2:1,transition:`opacity var(--m-fast)`},onMouseEnter:()=>v(t)},t)}),f.map((e,t)=>{let n=y(e.x),r=S(e.y),i=e.label?B(e.label):``,a=ne(i),o=280-n>=n-30?`start`:`end`,s=o===`start`?Math.min(n+5,280-a):Math.max(n-5,30+a),c=Math.max(20,r-5);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:n,cy:r,r:3.2,fill:e.color||`var(--text-primary)`,"data-mark":t===0?`point`:void 0}),e.label&&(0,x.jsx)(`text`,{x:s,y:c,textAnchor:o,className:`c2-plot-mk`,children:i})]},`m${t}`)}),r&&(0,x.jsx)(`text`,{x:280,y:208,className:`c2-plot-axlbl`,textAnchor:`end`,children:r}),o&&(0,x.jsx)(`text`,{x:32,y:10,className:`c2-plot-axlbl`,textAnchor:`start`,children:o})]})}),u.length>1&&(0,x.jsx)(`div`,{className:`c2-plot-legend`,children:u.map((e,t)=>(0,x.jsxs)(`button`,{className:`c2-plot-leg`+(_===t?` on`:``),onMouseEnter:()=>v(t),onMouseLeave:()=>v(null),children:[(0,x.jsx)(`i`,{style:{background:e.color||R[t%R.length]}}),e.label]},t))}),m&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(m)})]})}var ie=[0,28,50,74,100];function ae(e,t){let n=Math.max(0,Math.min(4,Math.round(e)));return n===0?`var(--cell-empty)`:`color-mix(in oklab, ${t} ${ie[n]}%, transparent)`}function oe({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,color:r=`var(--insight)`,days:o,weekdays:s,legend:c=[`Less`,`More`],footer:l,delay:u}){let d=i[t]||i.clock,[f,p]=(0,b.useState)(null);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-cal-wrap`,children:[s&&s.length===7&&(0,x.jsx)(`div`,{className:`c2-cal-days`,children:s.map((e,t)=>(0,x.jsx)(`span`,{className:`c2-cal-day`,children:e},t))}),(0,x.jsx)(`div`,{className:`c2-cal-grid`,onMouseLeave:()=>p(null),children:o.map((e,t)=>(0,x.jsx)(`span`,{className:`c2-cal-cell`,title:e.date?`${e.date} · level ${Math.max(0,Math.min(4,e.level))}`:void 0,style:{background:ae(e.level,r),transform:f===t?`scale(1.25)`:`none`},onMouseEnter:()=>p(t)},t))})]}),(0,x.jsxs)(`div`,{className:`c2-cal-legend`,children:[(0,x.jsx)(`span`,{className:`c2-cal-leg-lbl`,children:c[0]}),[0,1,2,3,4].map(e=>(0,x.jsx)(`i`,{style:{background:ae(e,r)}},e)),(0,x.jsx)(`span`,{className:`c2-cal-leg-lbl`,children:c[1]})]}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var se=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--danger)`,`var(--text-muted)`];function ce(e,t,n){let r=e.map((e,t)=>({y:e,idx:t})).sort((e,t)=>e.y-t.y),i=r.map(e=>e.y);for(let e=1;e<i.length;e++)i[e]-i[e-1]<t&&(i[e]=i[e-1]+t);let a=i[i.length-1]-n;if(a>0){for(let e=0;e<i.length;e++)i[e]-=a;for(let e=i.length-2;e>=0;e--)i[e+1]-i[e]<t&&(i[e]=i[e+1]-t)}let o=[];return r.forEach((e,t)=>o[e.idx]=Math.max(0,i[t])),o}function le({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,periods:r,series:o,footer:s,delay:c}){let l=i[t]||i.chart,[u,d]=(0,b.useState)(null),f=r.length,p=Math.max(1,...o.map(e=>Math.max(1,...e.ranks))),m=o.reduce((e,t,n)=>(t.ranks[t.ranks.length-1]??1/0)<(o[e].ranks[o[e].ranks.length-1]??1/0)?n:e,0),h=32+(p-1)*30,g=e=>16+(f<=1?0:e/(f-1)*208),_=e=>16+(e-1)*30,v=ce(o.map(e=>_(e.ranks[e.ranks.length-1]??1)),14,h-16);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-bump`,onMouseLeave:()=>d(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 320 ${h+22}`,className:`c2-bump-svg`,role:`img`,children:[r.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:g(t),y1:10,x2:g(t),y2:h-16+6,stroke:`var(--grid-line)`,strokeWidth:1}),(0,x.jsx)(`text`,{x:g(t),y:h+14,textAnchor:`middle`,className:`c2-bump-period`,children:e})]},t)),o.map((e,t)=>{let n=e.color||se[t%se.length],r=u===t,i=u!==null&&!r,a=e.ranks.map((e,t)=>`${g(t)},${_(e)}`).join(` `);return(0,x.jsxs)(`g`,{style:{opacity:i?.16:1,transition:`opacity var(--m-fast)`},onMouseEnter:()=>d(t),children:[(0,x.jsx)(`polyline`,{points:a,fill:`none`,stroke:n,strokeWidth:r?3:2,strokeLinejoin:`round`,strokeLinecap:`round`}),e.ranks.map((i,a)=>(0,x.jsx)(`circle`,{cx:g(a),cy:_(i),r:r?4.5:3,fill:n,"data-mark":t===m&&a===e.ranks.length-1?`point`:void 0},a)),(0,x.jsx)(`text`,{x:g(f-1)+8,y:v[t]+3.5,className:`c2-bump-name`,fill:n,style:{fontWeight:r?700:600},children:e.label})]},t)})]})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var ue=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--danger)`,`var(--text-muted)`];function de({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,columns:r,unit:o=``,footer:s,delay:c}){let l=i[t]||i.chart,[u,d]=(0,b.useState)(null),f=(0,b.useMemo)(()=>{let e=new Map,t=0;for(let n of r)for(let r of n.segments)e.has(r.label)||(e.set(r.label,r.color||ue[t%ue.length]),t+=1);return e},[r]),p=r.map(e=>e.segments.reduce((e,t)=>e+Math.max(0,t.value),0)),m=(()=>{let e=p.indexOf(Math.max(...p,0)),t=r[e];return{c:e,s:t?t.segments.reduce((e,n,r)=>n.value>t.segments[e].value?r:e,0):0}})(),h=[...f.entries()];return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-mek`,onMouseLeave:()=>d(null),children:r.map((e,t)=>{let n=p[t]||1;return(0,x.jsxs)(`div`,{className:`c2-mek-col`,style:{flexGrow:n,flexBasis:0},title:`${e.label} · ${n}${o}`,children:[(0,x.jsx)(`div`,{className:`c2-mek-stack`,children:e.segments.map((e,r)=>{let i=f.get(e.label),a=u===e.label,o=u!==null&&!a,s=Math.max(0,e.value)/n*100;return(0,x.jsx)(`div`,{className:`c2-mek-seg`,style:{height:`${s}%`,background:i,opacity:o?.22:1},onMouseEnter:()=>d(e.label),"data-mark":t===m.c&&r===m.s?`circle`:void 0,children:s>=14&&(0,x.jsxs)(`span`,{className:`c2-mek-seg-v`,children:[Math.round(s),`%`]})},r)})}),(0,x.jsxs)(`div`,{className:`c2-mek-col-lbl`,children:[(0,x.jsx)(`span`,{className:`c2-mek-col-name`,children:e.label}),(0,x.jsxs)(`span`,{className:`tab-num mono c2-mek-col-tot`,children:[n,o]})]})]},t)})}),(0,x.jsx)(`div`,{className:`c2-mek-legend`,children:h.map(([e,t])=>(0,x.jsxs)(`button`,{className:`c2-mek-leg`+(u===e?` on`:``),onMouseEnter:()=>d(e),onMouseLeave:()=>d(null),children:[(0,x.jsx)(`i`,{style:{background:t}}),e]},e))}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}function fe({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,unit:r=``,startLabel:o=`Start`,endLabel:s=`Now`,startColor:c=`var(--text-muted)`,endColor:l=`var(--presence)`,domain:u,rows:d,footer:f,delay:p}){let m=i[t]||i.chart,[h,g]=(0,b.useState)(null),_=d.flatMap(e=>[e.start,e.end]),v=u?u[0]:Math.min(..._,0),y=(u?u[1]:Math.max(..._,1))-v||1,S=e=>(e-v)/y*100,C=d.reduce((e,t,n)=>Math.abs(t.end-t.start)>Math.abs(d[e].end-d[e].start)?n:e,0);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-db-legend`,children:[(0,x.jsxs)(`span`,{className:`c2-db-leg`,children:[(0,x.jsx)(`i`,{style:{background:c}}),` `,o]}),(0,x.jsxs)(`span`,{className:`c2-db-leg`,children:[(0,x.jsx)(`i`,{style:{background:l}}),` `,s]})]}),(0,x.jsx)(`div`,{className:`c2-db`,children:d.map((e,t)=>{let n=S(Math.min(e.start,e.end)),i=S(Math.max(e.start,e.end)),a=e.end>=e.start,o=h===t;return(0,x.jsxs)(`div`,{className:`c2-db-row`+(o?` on`:``),onMouseEnter:()=>g(t),onMouseLeave:()=>g(null),children:[(0,x.jsxs)(`div`,{className:`c2-db-name`,children:[(0,x.jsx)(`span`,{className:`c2-db-name-txt`,children:e.label}),e.tag&&(0,x.jsx)(`span`,{className:`c2-db-tag`,children:e.tag})]}),(0,x.jsxs)(`div`,{className:`c2-db-track`,children:[(0,x.jsx)(`div`,{className:`c2-db-conn`,style:{left:`${n}%`,width:`${i-n}%`}}),(0,x.jsx)(`div`,{className:`c2-db-dot`,style:{left:`${S(e.start)}%`,background:c}}),(0,x.jsx)(`div`,{className:`c2-db-dot end`,style:{left:`${S(e.end)}%`,background:l},"data-mark":t===C?`point`:void 0}),o&&(0,x.jsxs)(`div`,{className:`c2-db-tip`,style:{left:`${S(e.end)}%`},children:[(0,x.jsxs)(`span`,{className:`tab-num mono`,children:[e.start,r]}),(0,x.jsx)(`span`,{className:`c2-db-arr`,style:{color:a?`var(--insight)`:`var(--danger)`},children:`→`}),(0,x.jsxs)(`span`,{className:`tab-num mono`,style:{color:a?`var(--insight)`:`var(--danger)`},children:[e.end,r]})]})]}),(0,x.jsxs)(`div`,{className:`c2-db-delta tab-num mono`,style:{color:a?`var(--insight)`:`var(--danger)`},children:[a?`+`:``,(e.end-e.start).toFixed(0),r]})]},t)})}),f&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}function pe({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,unit:r=``,rows:o,footer:c,delay:d}){let p=i[t]||i.chart,[m,h]=(0,b.useState)(null),[g,_]=(0,b.useState)(`desc`),v=(0,b.useMemo)(()=>{let e=f(o.map(e=>e.value));return l(u(0,e?Math.max(e[1],0):1),[0,100])},[o]),y=o.reduce((e,t,n)=>t.value>o[e].value?n:e,0),S=e=>s(e,{unit:r||void 0}),C=(0,b.useMemo)(()=>{let e=o.map((e,t)=>t);return g===`desc`&&e.sort((e,t)=>o[t].value-o[e].value),g===`asc`&&e.sort((e,t)=>o[e].value-o[t].value),e},[o,g]),w=()=>_(e=>e===`desc`?`asc`:e===`asc`?`orig`:`desc`),T=g===`desc`?`High → low`:g===`asc`?`Low → high`:`Original`;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`button`,{className:`mini-btn c2-sort-btn`,onClick:w,children:[(0,x.jsx)(i.arrowDown,{}),` `,T]}),(0,x.jsx)(`div`,{className:`c2-lp`,onMouseLeave:()=>h(null),children:C.map(e=>{let t=o[e],n=t.color||`var(--presence)`,r=v(t.value),i=m===e;return(0,x.jsxs)(`div`,{className:`c2-lp-row`+(i?` on`:``),onMouseEnter:()=>h(e),children:[(0,x.jsx)(`div`,{className:`c2-lp-name`,children:t.label}),(0,x.jsxs)(`div`,{className:`c2-lp-track`,children:[(0,x.jsx)(`div`,{className:`c2-lp-stem`,style:{width:`${r}%`,background:n}}),(0,x.jsx)(`div`,{className:`c2-lp-circ`,style:{left:`${r}%`,borderColor:n,background:i?n:`var(--surface-elevated)`},"data-mark":e===y?`point`:void 0}),i&&(0,x.jsxs)(`div`,{className:`c2-lp-tip`,style:{left:`${r}%`},children:[(0,x.jsx)(`span`,{className:`tab-num mono`,style:{color:n},children:S(t.value)}),t.sub&&(0,x.jsxs)(`span`,{className:`faint`,children:[`· `,t.sub]})]})]}),(0,x.jsx)(`div`,{className:`c2-lp-val tab-num mono`,children:S(t.value)})]},e)})}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}function me({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,rows:r,footer:o,delay:s}){let c=i[t]||i.chart,[l,u]=(0,b.useState)(null),d=(()=>{let e=r.map((e,t)=>({i:t,miss:e.value<e.target})).filter(e=>e.miss),t=e.length?e.map(e=>e.i):r.map((e,t)=>t);return t.reduce((e,t)=>r[t].value>r[e].value?t:e,t[0])})();return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(s||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-bul`,onMouseLeave:()=>u(null),children:r.map((e,t)=>{let n=e.color||`var(--presence)`,r=e.bands&&e.bands.length?e.bands:[e.max*.5,e.max*.8],i=t=>Math.min(100,t/(e.max||1)*100),a=e.value>=e.target,o=l===t;return(0,x.jsxs)(`div`,{className:`c2-bul-row`+(o?` on`:``),onMouseEnter:()=>u(t),children:[(0,x.jsxs)(`div`,{className:`c2-bul-head`,children:[(0,x.jsx)(`span`,{className:`c2-bul-name`,children:e.label}),(0,x.jsxs)(`span`,{className:`c2-bul-num tab-num mono`,style:{color:a?`var(--insight)`:`var(--warning)`},children:[e.value,e.unit||``,(0,x.jsxs)(`span`,{className:`faint`,children:[` `,`/ `,e.target,e.unit||``]})]})]}),(0,x.jsxs)(`div`,{className:`c2-bul-track`,children:[[...r,e.max].map((e,t)=>{let n=t===0?0:i(r[t-1]),a=i(e)-n,o=.12+t*.1;return(0,x.jsx)(`div`,{className:`c2-bul-band`,style:{left:`${n}%`,width:`${a}%`,background:`color-mix(in oklab, var(--text-muted) ${o*100}%, transparent)`}},t)}),(0,x.jsx)(`div`,{className:`c2-bul-measure`,style:{width:`${i(e.value)}%`,background:n},"data-mark":t===d?`circle`:void 0}),(0,x.jsx)(`div`,{className:`c2-bul-target`,style:{left:`${i(e.target)}%`},title:`Target ${e.target}`}),o&&(0,x.jsxs)(`div`,{className:`c2-bul-tip`,style:{left:`${Math.min(i(e.value),88)}%`},children:[(0,x.jsxs)(`span`,{className:`tab-num mono`,style:{color:n},children:[e.value,e.unit||``]}),(0,x.jsxs)(`span`,{className:`faint`,children:[`vs goal `,e.target,e.unit||``]}),(0,x.jsx)(`span`,{className:`tab-num mono`,style:{color:a?`var(--insight)`:`var(--danger)`},children:a?`✓ met`:`${(e.target-e.value).toFixed(0)} short`})]})]})]},t)})}),o&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}var he={maxWidth:`48%`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`};function ge({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,unit:r=``,candles:o,footer:c,delay:l}){let d=i[t]||i.chart,[p,m]=(0,b.useState)(null),[h,g]=(0,b.useState)(!0),_=e=>s(e,{unit:r||void 0}),v=o.some(e=>e.vol!=null),y=Math.max(...o.map(e=>e.vol||0),1),{hi:S,span:C,priceTicks:w}=(0,b.useMemo)(()=>{let e=f(o.flatMap(e=>[e.h,e.l])),[t,n]=u(e?e[0]:0,e?e[1]:1),r=[t,t+(n-t)/2,n];return{hi:n,span:n-t||1,priceTicks:r}},[o]),T=e=>(S-e)/C*170+5,E=100/(o.length||1),D=Math.min(E*.6,7),O=o.reduce((e,t,n)=>t.h-t.l>o[e].h-o[e].l?n:e,0),k=p==null?null:o[p];return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-cs-bar`,children:[k?(0,x.jsxs)(`div`,{className:`c2-cs-ohlc`,children:[(0,x.jsxs)(`span`,{children:[`O `,(0,x.jsx)(`b`,{className:`tab-num mono`,children:_(k.o)})]}),(0,x.jsxs)(`span`,{children:[`H`,` `,(0,x.jsx)(`b`,{className:`tab-num mono`,style:{color:`var(--insight)`},children:_(k.h)})]}),(0,x.jsxs)(`span`,{children:[`L`,` `,(0,x.jsx)(`b`,{className:`tab-num mono`,style:{color:`var(--danger)`},children:_(k.l)})]}),(0,x.jsxs)(`span`,{children:[`C `,(0,x.jsx)(`b`,{className:`tab-num mono`,children:_(k.c)})]})]}):(0,x.jsxs)(`span`,{className:`faint`,children:[o.length,` periods · hover a candle`]}),v&&(0,x.jsxs)(`button`,{className:`mini-btn c2-cs-vol-btn`,onClick:()=>g(e=>!e),children:[h?(0,x.jsx)(i.eye,{}):(0,x.jsx)(i.eyeOff,{}),` Volume`]})]}),(0,x.jsxs)(`div`,{className:`c2-cs-wrap`,children:[(0,x.jsx)(`div`,{className:`c2-cs-yaxis`,"aria-hidden":`true`,children:w.slice().reverse().map(e=>(0,x.jsx)(`span`,{className:`c2-cs-yt`,style:{top:`${T(e)/180*100}%`},children:s(e)},e))}),(0,x.jsx)(`div`,{className:`c2-cs`,onMouseLeave:()=>m(null),children:(0,x.jsxs)(`svg`,{role:`img`,"aria-label":e,viewBox:`0 0 100 ${180+(v&&h?34:0)}`,preserveAspectRatio:`none`,className:`c2-cs-svg`,children:[w.map(e=>(0,x.jsx)(`line`,{x1:`0`,y1:T(e),x2:`100`,y2:T(e),stroke:`var(--grid-line)`,strokeWidth:`0.3`},e)),o.map((e,t)=>{let n=E*t+E/2,r=e.c>=e.o?`var(--insight)`:`var(--danger)`,i=p===t,a=T(Math.max(e.o,e.c)),o=T(Math.min(e.o,e.c));return(0,x.jsxs)(`g`,{onMouseEnter:()=>m(t),style:{opacity:p!=null&&!i?.4:1,transition:`opacity var(--m-fast)`},children:[(0,x.jsx)(`rect`,{x:n-E/2,y:`0`,width:E,height:180,fill:`transparent`}),(0,x.jsx)(`line`,{x1:n,y1:T(e.h),x2:n,y2:T(e.l),stroke:r,strokeWidth:`0.5`}),(0,x.jsx)(`rect`,{x:n-D/2,y:a,width:D,height:Math.max(o-a,.8),fill:r,rx:`0.6`,"data-mark":t===O?`circle`:void 0}),v&&h&&(0,x.jsx)(`rect`,{x:n-D/2,y:180+(34-(e.vol||0)/y*30),width:D,height:(e.vol||0)/y*30,fill:r,opacity:`0.4`,rx:`0.6`}),i&&(0,x.jsx)(`line`,{x1:n,y1:`0`,x2:n,y2:180,stroke:`var(--hover-line)`,strokeWidth:`0.4`})]},t)})]})})]}),(0,x.jsxs)(`div`,{className:`c2-cs-axis`,children:[(0,x.jsx)(`span`,{className:`faint`,style:he,children:o[0]?.label}),(0,x.jsx)(`span`,{className:`faint`,style:he,children:o[o.length-1]?.label})]}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}function _e({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,cols:r,tasks:o,footer:s,delay:c}){let l=i[t]||i.clock,[u,d]=(0,b.useState)(null),[f,p]=(0,b.useState)(null),m=r.length||1,h=100/m;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-gantt-cols`,children:r.map((e,t)=>(0,x.jsx)(`span`,{className:`c2-gantt-col faint`,style:{width:`${h}%`},children:e},t))}),(0,x.jsx)(`div`,{className:`c2-gantt`,children:o.map((e,t)=>{let n=e.color||`var(--presence)`,i=e.start*h,a=e.span*h,s=e.pct??100,c=f===t||u===t,l=e.dependsOn==null?null:o[e.dependsOn],g=Math.min(Math.max(i+a/2,8),92);return(0,x.jsxs)(`div`,{className:`c2-gantt-line`,children:[(0,x.jsx)(`div`,{className:`c2-gantt-name`,title:e.lane,children:e.name}),(0,x.jsxs)(`div`,{className:`c2-gantt-track`,children:[[...Array(m+1)].map((e,t)=>(0,x.jsx)(`span`,{className:`c2-gantt-grid`,style:{left:`${t*h}%`}},t)),l&&e.dependsOn!=null&&(0,x.jsx)(`span`,{className:`c2-gantt-dep`,style:{left:`${(l.start+l.span)*h}%`,width:`${i-(l.start+l.span)*h}%`}}),(0,x.jsxs)(`button`,{className:`c2-gantt-bar`+(c?` on`:``),"aria-label":`${e.name}: ${s}% complete`,title:`${e.name}: ${s}% complete`,style:{left:`${i}%`,width:`${a}%`,background:`color-mix(in oklab, ${n} 22%, transparent)`,borderColor:n},onMouseEnter:()=>p(t),onMouseLeave:()=>p(null),onClick:()=>d(e=>e===t?null:t),children:[(0,x.jsx)(`span`,{className:`c2-gantt-fill`,style:{width:`${s}%`,background:n}}),(0,x.jsxs)(`span`,{className:`c2-gantt-pct tab-num`,children:[s,`%`]})]}),f===t&&(0,x.jsxs)(`div`,{className:`c2-gantt-tip`,style:{left:`${g}%`},children:[r[e.start],` → `,r[Math.min(e.start+e.span-1,m-1)]]})]})]},t)})}),u!=null&&(0,x.jsxs)(`div`,{className:`c2-gantt-detail reveal`,children:[(0,x.jsxs)(`div`,{className:`c2-gantt-detail-h`,children:[(0,x.jsx)(i.layers,{className:`ic`,style:{color:o[u].color||`var(--presence)`}}),(0,x.jsx)(`b`,{children:o[u].name}),(0,x.jsx)(`button`,{className:`c2-gantt-x`,onClick:()=>d(null),children:(0,x.jsx)(i.x,{})})]}),(0,x.jsxs)(`div`,{className:`c2-gantt-detail-meta faint`,children:[o[u].lane&&(0,x.jsx)(`span`,{children:o[u].lane}),(0,x.jsxs)(`span`,{className:`tab-num`,children:[r[o[u].start],` –`,` `,r[Math.min(o[u].start+o[u].span-1,m-1)]]}),(0,x.jsxs)(`span`,{className:`tab-num`,children:[o[u].pct??100,`% done`]})]}),o[u].detail&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:6},children:o[u].detail})]}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var ve=320,ye=220,V={l:34,r:12,t:12,b:26};function be({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,xLabel:r,yLabel:o,xDomain:c,yDomain:d,categories:p,points:h,footer:g,delay:_}){let v=i[t]||i.chart,[y,S]=(0,b.useState)(null),[C,w]=(0,b.useState)({}),T=(0,b.useMemo)(()=>{let e={};return p.forEach(t=>e[t.name]=t.color),e},[p]),E=h.reduce((e,t,n)=>t.size>h[e].size?n:e,0),{sx:D,sy:O,pr:k,xTicks:A,yTicks:j}=(0,b.useMemo)(()=>{let e=f(h.map(e=>e.x)),t=f(h.map(e=>e.y)),[n,r]=c??u(Math.min(e?e[0]:0,0),e?e[1]:1),[i,a]=d??u(Math.min(t?t[0]:0,0),t?t[1]:1),o=l([n,r],[V.l,ve-V.r]),s=l([i,a],[ye-V.b,V.t]),p=Math.max(...h.map(e=>e.size),1);return{sx:o,sy:s,pr:e=>4+e/p*14,xTicks:o.ticks(4),yTicks:s.ticks(4)}},[h,c,d]);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(_||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(v,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-bub`,onMouseLeave:()=>S(null),children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ve} ${ye}`,className:`c2-bub-svg`,role:`img`,children:[A.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:D(e),y1:V.t,x2:D(e),y2:ye-V.b,className:`cx-grid-l`}),(0,x.jsx)(`text`,{x:D(e),y:ye-V.b+12,className:`cx-tick`,textAnchor:`middle`,children:s(e)})]},`gx${t}`)),j.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:V.l,y1:O(e),x2:ve-V.r,y2:O(e),className:`cx-grid-l`}),(0,x.jsx)(`text`,{x:V.l-5,y:O(e)+3,className:`cx-tick`,textAnchor:`end`,children:s(e)})]},`gy${t}`)),(0,x.jsx)(`line`,{x1:V.l,y1:ye-V.b,x2:ve-V.r,y2:ye-V.b,className:`cx-axis-l`}),(0,x.jsx)(`line`,{x1:V.l,y1:V.t,x2:V.l,y2:ye-V.b,className:`cx-axis-l`}),h.map((e,t)=>{if(C[e.cat])return null;let n=T[e.cat]||`var(--presence)`,r=y===t;return(0,x.jsx)(`circle`,{cx:D(e.x),cy:O(e.y),r:k(e.size),fill:`color-mix(in oklab, ${n} ${r?55:32}%, transparent)`,stroke:n,strokeWidth:r?1.6:1,onMouseEnter:()=>S(t),style:{transition:`fill var(--m-fast)`,cursor:`pointer`},"data-mark":t===E?`circle`:void 0},t)}),r&&(0,x.jsx)(`text`,{x:ve-V.r,y:ye-2,className:`cx-axlbl`,textAnchor:`end`,children:r}),o&&(0,x.jsx)(`text`,{x:V.l-2,y:V.t-3,className:`cx-axlbl`,textAnchor:`start`,children:o})]}),y!=null&&!C[h[y].cat]&&(0,x.jsxs)(`div`,{className:`c2-bub-tip`,style:{left:`${D(h[y].x)/ve*100}%`,top:`${O(h[y].y)/ye*100}%`,maxWidth:200},children:[(0,x.jsx)(`b`,{style:{display:`block`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,minWidth:0,maxWidth:`100%`},children:h[y].label}),(0,x.jsxs)(`span`,{className:`faint tab-num`,children:[r||`x`,` `,s(h[y].x),` · `,o||`y`,` `,s(h[y].y),` · `,s(h[y].size)]})]})]}),(0,x.jsx)(m,{items:p.map(e=>({label:e.name,color:e.color})),off:new Set(p.map((e,t)=>C[e.name]?t:-1).filter(e=>e>=0)),onToggle:e=>{let t=p[e]?.name;t&&w(e=>({...e,[t]:!e[t]}))}}),g&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(g)})]})}function xe({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,unit:r=``,color:o=`var(--presence)`,points:c,footer:l,delay:d}){let p=i[t]||i.chart,[m,h]=(0,b.useState)(null),g=e=>s(e,{unit:r||void 0}),{lo:_,hi:v,yTicks:y}=(0,b.useMemo)(()=>{let e=f(c.flatMap(e=>[e.lo,e.hi,e.value])),[t,n]=u(e?e[0]:0,e?e[1]:1),r=e=>n-t?(e-t)/(n-t):0;return{lo:t,hi:n,yTicks:[t,t+(n-t)/2,n].map(e=>({v:e,f:r(e)}))}},[c]),S=v-_||1,C=e=>c.length===1?50:e/(c.length-1)*92+4,w=e=>6+(1-(e-_)/S)*84,T=c.reduce((e,t,n)=>t.value>c[e].value?n:e,0),E=c.map((e,t)=>`${C(t)},${w(e.hi)}`).join(` `),D=c.map((e,t)=>`${C(t)},${w(e.lo)}`).reverse().join(` `),O=`${E} ${D}`,k=c.map((e,t)=>`${C(t)},${w(e.value)}`).join(` `);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-ar-wrap`,children:[(0,x.jsx)(`div`,{className:`c2-ar-yaxis`,"aria-hidden":`true`,children:y.slice().reverse().map(e=>(0,x.jsx)(`span`,{className:`c2-ar-yt`,style:{bottom:`${e.f*100}%`},children:s(e.v)},e.v))}),(0,x.jsxs)(`div`,{className:`c2-ar`,onMouseLeave:()=>h(null),children:[(0,x.jsxs)(`svg`,{role:`img`,"aria-label":e,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,className:`c2-ar-svg`,children:[y.map(e=>(0,x.jsx)(`line`,{x1:`0`,y1:6+(1-e.f)*84,x2:`100`,y2:6+(1-e.f)*84,stroke:`var(--grid-line)`,strokeWidth:`0.3`},e.v)),(0,x.jsx)(`polygon`,{points:O,fill:`color-mix(in oklab, ${o} 16%, transparent)`}),(0,x.jsx)(`polyline`,{points:E,fill:`none`,stroke:`color-mix(in oklab, ${o} 40%, transparent)`,strokeWidth:`0.4`}),(0,x.jsx)(`polyline`,{points:D,fill:`none`,stroke:`color-mix(in oklab, ${o} 40%, transparent)`,strokeWidth:`0.4`}),(0,x.jsx)(`polyline`,{points:k,fill:`none`,stroke:o,strokeWidth:`0.9`}),c.map((e,t)=>{let n=50/(c.length||1),r=Math.max(0,C(t)-n);return(0,x.jsxs)(`g`,{onMouseEnter:()=>h(t),children:[(0,x.jsx)(`rect`,{x:r,y:`0`,width:Math.min(100,C(t)+n)-r,height:`100`,fill:`transparent`}),m===t&&(0,x.jsx)(`line`,{x1:C(t),y1:`0`,x2:C(t),y2:`100`,stroke:`var(--hover-line)`,strokeWidth:`0.4`}),(0,x.jsx)(`circle`,{cx:C(t),cy:w(e.value),r:m===t?2:1.2,fill:o,"data-mark":t===T?`point`:void 0})]},t)})]}),m!=null&&(0,x.jsxs)(`div`,{className:`c2-ar-tip`,style:{left:`${C(m)}%`},children:[(0,x.jsx)(`b`,{children:c[m].label}),(0,x.jsx)(`span`,{className:`tab-num mono`,style:{color:o},children:g(c[m].value)}),(0,x.jsxs)(`span`,{className:`faint tab-num`,children:[`band `,s(c[m].lo),`–`,g(c[m].hi)]})]})]})]}),(0,x.jsxs)(`div`,{className:`c2-ar-axis`,children:[(0,x.jsx)(`span`,{className:`faint`,children:c[0]?.label}),(0,x.jsx)(`span`,{className:`faint`,children:c[c.length-1]?.label})]}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function Se({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,cats:r,footer:o,delay:s}){let c=i[t]||i.layers,[l,u]=(0,b.useState)(null),d=(0,b.useMemo)(()=>{let e=[];for(r.forEach(t=>{let n=Math.round(t.pct);for(let r=0;r<n&&e.length<100;r++)e.push({cat:t.name,color:t.color})});e.length<100;)e.push({cat:``,color:`var(--cell-empty)`});return e.slice(0,100)},[r]);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(s||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-waf-wrap`,children:[(0,x.jsx)(`div`,{className:`c2-waffle`,onMouseLeave:()=>u(null),children:d.map((e,t)=>{let n=!e.cat,r=l===e.cat,i=l!=null&&!r&&!n;return(0,x.jsx)(`span`,{className:`c2-waf-cell`,style:{background:n?`var(--cell-empty)`:e.color,opacity:i?.22:1,transform:r?`scale(1.12)`:`none`,"--cd":t*6+`ms`},onMouseEnter:()=>!n&&u(e.cat)},t)})}),(0,x.jsx)(`div`,{className:`c2-waf-legend`,children:r.map(e=>(0,x.jsxs)(`button`,{className:`c2-waf-leg`+(l===e.name?` on`:``),onMouseEnter:()=>u(e.name),onMouseLeave:()=>u(null),children:[(0,x.jsx)(`i`,{style:{background:e.color}}),(0,x.jsx)(`span`,{className:`c2-waf-leg-name`,children:e.name}),(0,x.jsxs)(`span`,{className:`tab-num mono c2-waf-leg-pct`,children:[Math.round(e.pct),`%`]})]},e.name))})]}),o&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}function Ce({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,unit:r=``,groups:o,series:c,footer:d,delay:g}){let _=i[t]||i.chart,[v,y]=(0,b.useState)({}),[S,C]=(0,b.useState)(null),w=c.filter(e=>!v[e.name]),{scale:T,axisTicks:E}=(0,b.useMemo)(()=>{let e=f(w.flatMap(e=>e.data)),[,t]=u(0,e?Math.max(e[1],0):1),n=l([0,t],[0,100]);return{scale:n,axisTicks:n.ticks(4)}},[w]),D=(()=>{let e=0,t=0,n=-1/0;return c.forEach((r,i)=>{v[r.name]||r.data.forEach((r,a)=>{r>n&&(n=r,e=a,t=i)})}),{g:e,s:t}})();if(!p(c.flatMap(e=>e.data)))return(0,x.jsxs)(`div`,{className:`card reveal c2`,children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]});let O=e=>s(e,{unit:r||void 0});return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(g||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-gb-wrap`,children:[(0,x.jsx)(`div`,{className:`c2-gb-axis`,"aria-hidden":`true`,children:E.slice().reverse().map(e=>(0,x.jsx)(`span`,{className:`c2-gb-axis-t`,style:{bottom:`${T(e)}%`},children:s(e)},e))}),(0,x.jsxs)(`div`,{className:`c2-gb`,onMouseLeave:()=>C(null),children:[(0,x.jsx)(`div`,{className:`c2-gb-grid`,children:E.map(e=>(0,x.jsx)(`span`,{className:`c2-gb-line`,style:{bottom:`${T(e)}%`}},e))}),o.map((e,t)=>(0,x.jsxs)(`div`,{className:`c2-gb-group`,children:[(0,x.jsx)(`div`,{className:`c2-gb-cluster`,children:c.map((e,n)=>{if(v[e.name])return null;let r=e.data[t]??0,i=Math.max(T(r),+(r>0)),a=S&&S.g===t&&S.s===n;return(0,x.jsx)(`div`,{className:`c2-gb-bar`+(a?` on`:``),style:{height:`${i}%`,background:e.color,"--bd":(t*c.length+n)*30+`ms`},onMouseEnter:()=>C({g:t,s:n}),"data-mark":t===D.g&&n===D.s?`circle`:void 0,children:a&&(0,x.jsxs)(`div`,{className:`c2-gb-tip`,children:[(0,x.jsx)(`b`,{style:{color:e.color},children:e.name}),(0,x.jsx)(`span`,{className:`tab-num mono`,children:O(r)})]})},n)})}),(0,x.jsx)(`div`,{className:`c2-gb-glabel faint`,children:e})]},t))]})]}),(0,x.jsx)(m,{items:c.map(e=>({label:e.name,color:e.color})),active:S?S.s:null,off:new Set(c.map((e,t)=>v[e.name]?t:-1).filter(e=>e>=0)),onToggle:e=>{let t=c[e]?.name;t&&y(e=>({...e,[t]:!e[t]}))}}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var we=320,Te=210,H={l:32,r:38,t:14,b:28},Ee=40,De=6,Oe=10;function ke(e){return e.length>Oe?`${e.slice(0,Oe-1).trimEnd()}…`:e}function Ae({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,categories:r,bar:o,line:c,footer:d,delay:p}){let h=i[t]||i.chart,[g,_]=(0,b.useState)(null),v=o.color||`var(--presence)`,y=c.color||`var(--warning)`,S=r.length>De,C=S?Ee:H.b,{sxBand:w,syL:T,syR:E,bTicks:D,lTicks:O}=(0,b.useMemo)(()=>{let e=f(o.data),t=f(c.data),[,n]=u(0,e?Math.max(e[1],0):1),[i,a]=u(t?t[0]:0,t?t[1]:1),s=e=>H.l+(e+.5)/Math.max(1,r.length)*(we-H.l-H.r),d=l([0,n],[Te-C,H.t]),p=l([i,a],[Te-C,H.t]);return{sxBand:s,syL:d,syR:p,bTop:n,lTicks:p.ticks(4),bTicks:d.ticks(4)}},[o.data,c.data,r.length,C]),k=(we-H.l-H.r)/Math.max(1,r.length)*.5,A=c.data.map((e,t)=>`${w(t)},${E(e)}`).join(` `),j=o.data.reduce((e,t,n)=>t>o.data[e]?n:e,0);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(h,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-da`,onMouseLeave:()=>_(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${we} ${Te}`,className:`c2-da-svg`,role:`img`,"aria-label":e,children:[D.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:H.l,y1:T(e),x2:we-H.r,y2:T(e),className:`cx-grid-l`}),(0,x.jsx)(`text`,{x:H.l-4,y:T(e)+3,className:`cx-tick`,textAnchor:`end`,children:s(e)})]},`l${t}`)),O.map((e,t)=>(0,x.jsx)(`text`,{x:we-H.r+4,y:E(e)+3,className:`cx-tick`,textAnchor:`start`,children:s(e)},`r${t}`)),o.data.map((e,t)=>(0,x.jsx)(`rect`,{x:w(t)-k/2,y:T(e),width:k,height:Math.max(0,T(0)-T(e)),rx:2,fill:v,opacity:g!=null&&g!==t?.4:.85,onMouseEnter:()=>_(t),"data-mark":t===j?`circle`:void 0},t)),(0,x.jsx)(`polyline`,{points:A,fill:`none`,stroke:y,strokeWidth:2,strokeLinejoin:`round`}),c.data.map((e,t)=>(0,x.jsx)(`circle`,{cx:w(t),cy:E(e),r:g===t?4:2.6,fill:y},`p${t}`)),r.map((e,t)=>{let n=S?ke(e):e,r=S&&e.length>Oe,i=w(t),a=Te-C+(S?8:14);return(0,x.jsxs)(`text`,{x:i,y:a,className:`cx-tick`,textAnchor:S?`end`:`middle`,transform:S?`rotate(-40, ${i}, ${a})`:void 0,children:[r&&(0,x.jsx)(`title`,{children:e}),n]},`c${t}`)}),g!=null&&(0,x.jsxs)(`text`,{x:w(g),y:H.t,className:`c2-da-tip`,textAnchor:`middle`,children:[s(o.data[g],{unit:o.unit}),` ·`,` `,s(c.data[g],{unit:c.unit})]})]})}),(0,x.jsx)(m,{items:[{label:o.name,color:v},{label:c.name,color:y}]}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(d)})]})}var je=320,Me=220,U={l:34,r:12,t:14,b:26};function Ne(e){let t=e.length;if(t<2)return null;let n=e.reduce((e,t)=>e+t.x,0),r=e.reduce((e,t)=>e+t.y,0),i=n/t,a=r/t,o=0,s=0,c=0;for(let t of e)o+=(t.x-i)**2,s+=(t.x-i)*(t.y-a),c+=(t.y-a)**2;if(o===0)return null;let l=s/o;return{slope:l,intercept:a-l*i,r2:c===0?1:s*s/(o*c)}}function Pe({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,xLabel:r,yLabel:o,points:c,color:d=`var(--presence)`,fit:p=!0,footer:m,delay:h}){let g=i[t]||i.chart,[_,v]=(0,b.useState)(null),{sx:y,sy:S,xLo:C,xHi:w,xTicks:T,yTicks:E}=(0,b.useMemo)(()=>{let e=f(c.map(e=>e.x)),t=f(c.map(e=>e.y)),[n,r]=u(e?e[0]:0,e?e[1]:1),[i,a]=u(t?t[0]:0,t?t[1]:1),o=l([n,r],[U.l,je-U.r]),s=l([i,a],[Me-U.b,U.t]);return{sx:o,sy:s,xLo:n,xHi:r,xTicks:o.ticks(4),yTicks:s.ticks(4)}},[c]),D=(0,b.useMemo)(()=>p?Ne(c):null,[c,p]),O=D?c.reduce((e,t,n)=>Math.abs(t.y-(D.intercept+D.slope*t.x))>Math.abs(c[e].y-(D.intercept+D.slope*c[e].x))?n:e,0):c.reduce((e,t,n)=>t.y>c[e].y?n:e,0);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(h||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-sr`,onMouseLeave:()=>v(null),children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${je} ${Me}`,className:`c2-sr-svg`,role:`img`,"aria-label":e,children:[T.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:y(e),y1:U.t,x2:y(e),y2:Me-U.b,className:`cx-grid-l`}),(0,x.jsx)(`text`,{x:y(e),y:Me-U.b+12,className:`cx-tick`,textAnchor:`middle`,children:s(e)})]},`gx${t}`)),E.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:U.l,y1:S(e),x2:je-U.r,y2:S(e),className:`cx-grid-l`}),(0,x.jsx)(`text`,{x:U.l-4,y:S(e)+3,className:`cx-tick`,textAnchor:`end`,children:s(e)})]},`gy${t}`)),(0,x.jsx)(`line`,{x1:U.l,y1:Me-U.b,x2:je-U.r,y2:Me-U.b,className:`cx-axis-l`}),(0,x.jsx)(`line`,{x1:U.l,y1:U.t,x2:U.l,y2:Me-U.b,className:`cx-axis-l`}),D&&(0,x.jsx)(`line`,{x1:y(C),y1:S(D.intercept+D.slope*C),x2:y(w),y2:S(D.intercept+D.slope*w),stroke:d,strokeWidth:2,strokeDasharray:`5 4`,opacity:.9}),c.map((e,t)=>(0,x.jsx)(`circle`,{cx:y(e.x),cy:S(e.y),r:_===t?5:3.2,fill:`color-mix(in oklab, ${d} ${_===t?70:45}%, transparent)`,stroke:d,strokeWidth:1,onMouseEnter:()=>v(t),style:{cursor:`pointer`},"data-mark":t===O?`circle`:void 0},t)),D&&(0,x.jsxs)(`text`,{x:je-U.r,y:U.t+4,className:`c2-sr-r2`,textAnchor:`end`,children:[`R² = `,D.r2.toFixed(2)]}),r&&(0,x.jsx)(`text`,{x:je-U.r,y:Me-2,className:`cx-axlbl`,textAnchor:`end`,children:r}),o&&(0,x.jsx)(`text`,{x:U.l-2,y:U.t-3,className:`cx-axlbl`,textAnchor:`start`,children:o})]}),_!=null&&(0,x.jsxs)(`div`,{className:`c2-sr-tip`,style:{left:`${y(c[_].x)/je*100}%`,top:`${S(c[_].y)/Me*100}%`},children:[c[_].label&&(0,x.jsx)(`b`,{children:c[_].label}),(0,x.jsxs)(`span`,{className:`faint tab-num`,children:[`(`,s(c[_].x),`, `,s(c[_].y),`)`]})]})]}),m&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(m)})]})}var Fe={top:16,right:56,bottom:60,left:60};function Ie(e,t,n){return!!(e.outOfControl||e.value>t||e.value<n)}function Le({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,points:r,ucl:a,lcl:o,centerLine:s,yLabel:c,note:l,sub:u,delay:d}){let f=i[t]||i.chart,[p,m]=(0,b.useState)(null),h=480-Fe.left-Fe.right,g=240-Fe.top-Fe.bottom,_=r.map(e=>e.value),v=Math.min(..._,o),y=Math.max(..._,a),S=(y-v)*.12||1,C=v-S,w=y+S-C,T=e=>r.length>1?e/(r.length-1)*h:h/2,E=e=>g-(e-C)/w*g,D=Array.from({length:5},(e,t)=>C+w/4*t),O=r.map((e,t)=>`${t===0?`M`:`L`} ${T(t).toFixed(1)},${E(e.value).toFixed(1)}`).join(` `),k=E(a),A=E(s),j=E(o),M=r.length<=10?1:Math.ceil(r.length/10),N=r.length>7,P=p===null?null:r[p],F=p===null?0:T(p),I=p===null?0:E(r[p].value);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),u&&(0,x.jsx)(`p`,{className:`c2-cc-sub`,children:u}),(0,x.jsx)(`div`,{className:`c2-cc-wrap`,onMouseLeave:()=>m(null),children:(0,x.jsx)(`svg`,{role:`img`,width:`100%`,viewBox:`0 0 480 240`,className:`c2-cc-svg`,"aria-label":e,children:(0,x.jsxs)(`g`,{transform:`translate(${Fe.left},${Fe.top})`,children:[(0,x.jsx)(`rect`,{className:`c2-cc-zone`,x:0,y:k,width:h,height:j-k}),D.map((e,t)=>(0,x.jsx)(`line`,{className:`c2-cc-grid`,x1:0,y1:E(e),x2:h,y2:E(e)},t)),(0,x.jsx)(`line`,{className:`c2-cc-ucl`,x1:0,y1:k,x2:h,y2:k}),(0,x.jsx)(`line`,{className:`c2-cc-lcl`,x1:0,y1:j,x2:h,y2:j}),(0,x.jsx)(`line`,{className:`c2-cc-cl`,x1:0,y1:A,x2:h,y2:A}),(0,x.jsx)(`text`,{className:`c2-cc-legend-lbl c2-cc-legend-warn`,x:h+4,y:k+4,children:`UCL`}),(0,x.jsx)(`text`,{className:`c2-cc-legend-lbl c2-cc-legend-warn`,x:h+4,y:j+4,children:`LCL`}),(0,x.jsx)(`text`,{className:`c2-cc-legend-lbl c2-cc-legend-cl`,x:h+4,y:A+4,children:`CL`}),r.length>1&&(0,x.jsx)(`path`,{className:`c2-cc-line`,d:O}),r.map((e,t)=>{let n=Ie(e,a,o);return(0,x.jsx)(`circle`,{cx:T(t),cy:E(e.value),r:n?5.5:p===t?5:3.5,className:n?`c2-cc-dot c2-cc-dot-oc`:`c2-cc-dot`,onMouseEnter:()=>m(t)},t)}),P&&(0,x.jsxs)(`g`,{className:`c2-cc-tip`,transform:`translate(${Math.min(F,h-72)},${Math.max(I-36,2)})`,children:[(0,x.jsx)(`rect`,{className:`c2-cc-tip-bg`,x:0,y:0,width:68,height:28,rx:4}),(0,x.jsx)(`text`,{className:`c2-cc-tip-label`,x:34,y:11,children:P.label}),(0,x.jsxs)(`text`,{className:`c2-cc-tip-val`+(Ie(P,a,o)?` c2-cc-tip-warn`:``),x:34,y:23,children:[P.value.toLocaleString(),c?` ${c}`:``]})]}),(0,x.jsx)(`line`,{className:`c2-cc-axis`,x1:0,y1:0,x2:0,y2:g}),D.map((e,t)=>(0,x.jsx)(`text`,{className:`c2-cc-ytick`,x:-6,y:E(e)+4,children:Math.abs(e)>=1e3?(e/1e3).toFixed(1)+`k`:e%1==0?e.toFixed(0):e.toFixed(1)},t)),c&&(0,x.jsx)(`text`,{className:`c2-cc-ylabel`,x:0,y:0,transform:`translate(-42,${g/2}) rotate(-90)`,textAnchor:`middle`,children:c}),(0,x.jsx)(`line`,{className:`c2-cc-axis`,x1:0,y1:g,x2:h,y2:g}),r.map((e,t)=>t%M!==0&&t!==r.length-1?null:(0,x.jsx)(`text`,{className:`c2-cc-xtick`,x:T(t),y:g+(N?6:14),textAnchor:N?`end`:`middle`,transform:N?`rotate(-40, ${T(t)}, ${g+6})`:void 0,children:e.label},t))]})})}),l&&(0,x.jsx)(`p`,{className:`c2-cc-note`,children:l})]})}var Re=5,ze=11;function Be(e){let t=new Map,n=[...e].sort((e,t)=>e-t);for(let e of n)t.set(e,(t.get(e)??0)+1);return t}function Ve({title:e,values:t,label:n,color:r=`var(--presence)`,note:a,sub:o,delay:s}){let[p,m]=(0,b.useState)(null),h=(0,b.useMemo)(()=>Be(t),[t]),g=(0,b.useMemo)(()=>{if(t.length===0)return null;let e=f(t);if(!e)return null;let[n,r]=e,[i,a]=u(n,r,5),o=Math.max(...h.values()),s=o*ze,p=o>=2?40:12;return{svgW:520,svgH:p+s+32,xScale:l([i,a],[28,504]),axY:p+s,tickVals:c(i,a,d(a-i,Math.min(h.size,6))),maxCount:o,ml:28,mr:16,mt:p,mb:32}},[t,h]);if(t.length===0||!g)return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(s??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(i.chart,{className:`ic`}),` `,e]}),(0,x.jsx)(`p`,{className:`faint`,style:{fontSize:13,margin:0},children:`No data.`})]});let{svgW:_,svgH:v,xScale:y,axY:S,tickVals:C,ml:w,mr:T}=g;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(s??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(i.chart,{className:`ic`}),` `,e]}),o&&(0,x.jsx)(`p`,{className:`ch2-dp-sub`,children:o}),(0,x.jsx)(`div`,{className:`ch2-dp-wrap`,children:(0,x.jsxs)(`svg`,{role:`img`,className:`ch2-dp-svg`,viewBox:`0 0 ${_} ${v}`,width:`100%`,"aria-label":e,children:[(0,x.jsx)(`line`,{x1:w,y1:S,x2:_-T,y2:S,className:`ch2-dp-axis`}),C.map(e=>{let t=y(e);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:t,y1:S,x2:t,y2:S+5,className:`ch2-dp-tick-line`}),(0,x.jsx)(`text`,{x:t,y:S+16,textAnchor:`middle`,className:`ch2-dp-tick-lbl`,children:e})]},e)}),n&&(0,x.jsx)(`text`,{x:(w+_-T)/2,y:v-4,textAnchor:`middle`,className:`ch2-dp-axis-lbl`,children:n}),Array.from(h.entries()).map(([e,t])=>{let n=y(e),i=p===e;return(0,x.jsxs)(`g`,{onMouseEnter:()=>m(e),onMouseLeave:()=>m(null),style:{cursor:`default`},children:[Array.from({length:t},(e,t)=>(0,x.jsx)(`circle`,{cx:n,cy:S-Re-t*ze,r:Re,className:`ch2-dp-dot`,style:{fill:r,opacity:i?1:.82}},t)),i&&t>=2&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:n-14,y:S-t*ze-Re-16,width:28,height:15,rx:4,className:`ch2-dp-badge-bg`}),(0,x.jsxs)(`text`,{x:n,y:S-t*ze-Re-5,textAnchor:`middle`,className:`ch2-dp-badge-txt`,children:[`×`,t]})]}),i&&(0,x.jsx)(`text`,{x:n,y:S+28,textAnchor:`middle`,className:`ch2-dp-val-lbl`,style:{fill:r},children:e})]},e)})]})}),a&&(0,x.jsx)(`p`,{className:`ch2-dp-note`,children:a})]})}function He({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,start:r,end:s,steps:c,unit:l,prefix:u,footer:d,delay:f}){let p=i[t]||i.chart,[m,h]=(0,b.useState)(null),{rows:g,domain:_}=(0,b.useMemo)(()=>{let e=c??[],t=r,n=[r],i=e.map((e,r)=>{let i=t;return t+=e.delta,n.push(t),{kind:`step`,idx:r,label:e.label,delta:e.delta,before:i,after:t,pos:e.delta>=0}});n.push(s);let a=Math.min(0,...n),o=Math.max(0,...n);return{rows:i,domain:{lo:a,hi:o,span:o-a||1}}},[r,s,c]),v=e=>(e-_.lo)/_.span*100,y=e=>o(e,l??u),S=e=>(e>=0?`+`:`−`)+o(Math.abs(e),l??u),C=g.reduce((e,t)=>Math.abs(t.delta)>Math.abs(g[e]?.delta??-1/0)?t.idx:e,g.length?0:-1),w=`var(--insight)`,T=`var(--danger)`,E=(e,t,n)=>{let r=v(0),i=v(t),a=Math.min(r,i),o=Math.abs(i-r);return(0,x.jsxs)(`div`,{className:`br-row br-row--anchor`,children:[(0,x.jsx)(`div`,{className:`br-label`,children:e}),(0,x.jsx)(`div`,{className:`br-track`,children:(0,x.jsx)(`div`,{className:`br-bar br-bar--anchor`,style:{left:`${a}%`,width:`${Math.max(o,.6)}%`}})}),(0,x.jsx)(`div`,{className:`br-val tab-num mono`,children:y(t)})]},n)};return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`br-wrap`,onMouseLeave:()=>h(null),children:[E(`Start`,r,`start`),g.map(e=>{let t=v(e.before),n=v(e.after),r=Math.min(t,n),i=Math.abs(n-t),a=e.pos?w:T,o=m===e.idx,s=Math.min(Math.max(e.pos?n:t,8),92);return(0,x.jsxs)(`div`,{className:`br-row`+(o?` on`:``)+(e.idx===C?` br-row--driver`:``),onMouseEnter:()=>h(e.idx),children:[(0,x.jsx)(`div`,{className:`br-label`,children:e.label}),(0,x.jsxs)(`div`,{className:`br-track`,children:[(0,x.jsx)(`div`,{className:`br-bar`,style:{left:`${r}%`,width:`${Math.max(i,.6)}%`,background:a},"data-mark":e.idx===C?`point`:void 0}),o&&(0,x.jsxs)(`div`,{className:`br-tip`,style:{left:`${s}%`},children:[(0,x.jsx)(`span`,{className:`tab-num mono`,style:{color:a},children:S(e.delta)}),(0,x.jsxs)(`span`,{className:`br-tip-run faint`,children:[`to `,y(e.after)]})]})]}),(0,x.jsx)(`div`,{className:`br-val tab-num mono`,style:{color:a},children:S(e.delta)})]},e.idx)}),E(`End`,s,`end`)]}),(0,x.jsxs)(`div`,{className:`br-legend`,children:[(0,x.jsxs)(`span`,{className:`br-leg`,children:[(0,x.jsx)(`i`,{className:`br-swatch`,style:{background:w}}),` increase`]}),(0,x.jsxs)(`span`,{className:`br-leg`,children:[(0,x.jsx)(`i`,{className:`br-swatch`,style:{background:T}}),` decrease`]}),(0,x.jsxs)(`span`,{className:`br-leg br-leg--net tab-num mono`,children:[`net `,S(s-r)]})]}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var Ue=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],We=320,Ge=224,Ke=34,qe=16,Je=14,Ye=26,Xe=We-Ke-qe,Ze=Ge-Je-Ye;function Qe(e,t){if(e.length===0)return 0;if(t<=e[0].x)return e[0].y;let n=e[e.length-1];if(t>=n.x)return n.y;for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(t<=i.x){let e=i.x-r.x||1;return r.y+(t-r.x)/e*(i.y-r.y)}}return n.y}function $e(e,t,n,r,i=240){if(!(t>e))return 0;let a=(t-e)/i,o=0;for(let t=0;t<i;t++){let i=e+t*a,s=i+a;o+=(n(i)-r(i)+(n(s)-r(s)))/2*a}return o}function et(e,t,n,r,i){if(!(t>e)||r<1)return 0;let a=(t-e)/r,o=0;for(let t=0;t<r;t++){let r=e+t*a,s=r+a;i===`trap`?o+=(n(r)+n(s))/2*a:i===`right`?o+=n(s)*a:i===`mid`?o+=n((r+s)/2)*a:o+=n(r)*a}return o}function tt(e){if(!Number.isFinite(e))return`0`;let t=Math.abs(e),n=t>=100?0:t>=1?2:3;return Number(e.toFixed(n)).toString()}var nt=6.2;function rt(e,t){let n=Math.max(3,Math.floor((t-8)/nt));return e.length>n?e.slice(0,n-1).trimEnd()+`…`:e}function it({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,xLabel:r,yLabel:o,xDomain:s,yDomain:l,curves:u,shade:f,rects:p,areaLabel:m,showArea:h=!0,origin:g=!0,footer:_,delay:v}){let y=i[t]||i.chart,{sx:S,sy:C,axisX:w,axisY:T,xticks:E,yticks:D}=(0,b.useMemo)(()=>{let e=u.flatMap(e=>e.points.map(e=>e.x)),t=u.flatMap(e=>e.points.map(e=>e.y)),n=(e,t)=>{if(e===t)return[e-1,t+1];let n=(t-e)*.06;return[e-n,t+n]},[r,i]=s??n(Math.min(...e,0),Math.max(...e)),[a,o]=l??n(Math.min(...t,0),Math.max(...t,0)),f=e=>Ke+(e-r)/(i-r||1)*Xe,p=e=>Je+(1-(e-a)/(o-a||1))*Ze;return{xmin:r,xmax:i,ymin:a,ymax:o,sx:f,sy:p,axisX:g&&a<=0&&o>=0?p(0):198,axisY:g&&r<=0&&i>=0?f(0):Ke,xticks:c(r,i,d(i-r)),yticks:c(a,o,d(o-a))}},[u,s,l,g]),O=(0,b.useMemo)(()=>{if(!f||u.length===0)return null;let e=Math.max(0,Math.min(u.length-1,f.to)),t=u[e],n=f.from===`axis`?null:u[Math.max(0,Math.min(u.length-1,f.from))],r=e=>[e.points[0].x,e.points[e.points.length-1].x],[i,a]=r(t),o=i,s=a;if(n){let[e,t]=r(n);o=Math.max(o,e),s=Math.min(s,t)}let c=f.x0??o,l=f.x1??s,d=e=>Qe(t.points,e),p=e=>n?Qe(n.points,e):0,m=e=>e.filter(e=>e.x>c&&e.x<l).map(e=>e.x),h=[c,...m(t.points),l],g=n?[l,...m(n.points).reverse(),c]:[l,c];return{x0:c,x1:l,top:d,bot:p,fillPts:[...h.map(e=>`${S(e)},${C(d(e))}`),...g.map(e=>`${S(e)},${C(p(e))}`)].join(` `),area:$e(c,l,d,p),color:t.color||Ue[e%Ue.length]}},[f,u,S,C]),k=(0,b.useMemo)(()=>{if(!p||!O||p.n<1)return null;let{x0:e,x1:t,top:n,bot:r}=O,i=e=>n(e)-r(e),a=(t-e)/p.n,o=[];for(let t=0;t<p.n;t++){let s=e+t*a,c=s+a;if(p.rule===`trap`)o.push({d:`${S(s)},${C(r(s))} ${S(s)},${C(n(s))} ${S(c)},${C(n(c))} ${S(c)},${C(r(c))}`,x:(s+c)/2,hVal:(i(s)+i(c))/2});else{let e=p.rule===`right`?c:p.rule===`mid`?(s+c)/2:s,t=r(s)+i(e);o.push({d:`${S(s)},${C(r(s))} ${S(s)},${C(t)} ${S(c)},${C(t)} ${S(c)},${C(r(c))}`,x:(s+c)/2,hVal:i(e)})}}return{cells:o,estimate:et(e,t,i,p.n,p.rule),rule:p.rule,n:p.n}},[p,O,S,C]),A=(0,b.useMemo)(()=>!h||!O?null:m||`area ≈ ${tt(O.area)}`,[h,O,m]),j=(0,b.useMemo)(()=>{if(!O)return null;let e=(O.x0+O.x1)/2,t=(O.top(e)+O.bot(e))/2,n=Math.max(0,S(O.x1)-S(O.x0));return{x:S(e),y:C(t),regionWidth:n}},[O,S,C]);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(v||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(y,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`apl-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${We} ${Ge}`,className:`apl-svg`,role:`img`,"aria-label":e,children:[E.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:S(e),y1:Je,x2:S(e),y2:198,className:`apl-grid`}),(0,x.jsx)(`text`,{x:S(e),y:210,className:`apl-tick`,textAnchor:`middle`,children:e})]},`gx${t}`)),D.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:Ke,y1:C(e),x2:304,y2:C(e),className:`apl-grid`}),(0,x.jsx)(`text`,{x:Ke-4,y:C(e)+3,className:`apl-tick`,textAnchor:`end`,children:e})]},`gy${t}`)),O&&(0,x.jsx)(`polygon`,{points:O.fillPts,fill:`color-mix(in oklab, ${O.color} 18%, transparent)`,stroke:`none`}),k&&k.cells.map((e,t)=>(0,x.jsx)(`polygon`,{points:e.d,className:`apl-rect`,stroke:O?O.color:`var(--text-secondary)`},`rc${t}`)),(0,x.jsx)(`line`,{x1:Ke,y1:w,x2:304,y2:w,className:`apl-axis`}),(0,x.jsx)(`line`,{x1:T,y1:Je,x2:T,y2:198,className:`apl-axis`}),u.map((e,t)=>{let n=e.color||Ue[t%Ue.length];return(0,x.jsx)(`polyline`,{points:e.points.map(e=>`${S(e.x)},${C(e.y)}`).join(` `),fill:`none`,stroke:n,strokeWidth:2,strokeDasharray:e.dashed?`5 4`:void 0,strokeLinejoin:`round`,strokeLinecap:`round`},t)}),O&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`line`,{x1:S(O.x0),y1:C(O.top(O.x0)),x2:S(O.x0),y2:C(O.bot(O.x0)),className:`apl-bound`}),(0,x.jsx)(`line`,{x1:S(O.x1),y1:C(O.top(O.x1)),x2:S(O.x1),y2:C(O.bot(O.x1)),className:`apl-bound`})]}),A&&j&&(0,x.jsxs)(`text`,{x:j.x,y:j.y,className:`apl-area`,textAnchor:`middle`,dominantBaseline:`middle`,"data-mark":`point`,children:[rt(A,j.regionWidth)!==A&&(0,x.jsx)(`title`,{children:A}),rt(A,j.regionWidth)]}),r&&(0,x.jsx)(`text`,{x:304,y:210,className:`apl-axlbl`,textAnchor:`end`,children:r}),o&&(0,x.jsx)(`text`,{x:36,y:Je-2,className:`apl-axlbl`,textAnchor:`start`,children:o})]})}),u.length>1&&(0,x.jsx)(`div`,{className:`apl-legend`,children:u.map((e,t)=>(0,x.jsxs)(`span`,{className:`apl-leg`,children:[(0,x.jsx)(`i`,{style:{background:e.color||Ue[t%Ue.length]}}),e.label]},t))}),k&&(0,x.jsxs)(`div`,{className:`apl-note faint`,children:[k.rule===`trap`?`trapezoid`:`${k.rule} Riemann`,` sum, n=`,k.n,` `,`→`,` `,(0,x.jsx)(`span`,{className:`tab-num`,children:tt(k.estimate)})]}),_&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(_)})]})}var at=340,ot=248,st=38,ct=18,lt=14,ut=44;function dt(e,t){if(!e)return t;if(e.points&&e.points.length>=2){let[n,r]=e.points,i=r.q-n.q;if(i===0)return t;let a=(r.p-n.p)/i;return{intercept:n.p-a*n.q,slope:a}}return typeof e.intercept==`number`&&typeof e.slope==`number`?{intercept:e.intercept,slope:e.slope}:t}function ft(e,t){let n=e.slope-t.slope;if(n===0)return null;let r=(t.intercept-e.intercept)/n;return{q:r,p:e.intercept+e.slope*r}}function pt(e){return(Math.round(e*100)/100).toString()}var mt=`var(--presence)`,ht=`var(--insight)`;function gt({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,supply:r,demand:o,shift:s,region:l,qMax:u,pMax:f,priceLabel:p=`Price`,quantityLabel:m=`Quantity`,pricePrefix:h=``,showEquilibrium:g=!0,footer:_,delay:v}){let y=i[t]||i.chart,S=`sud-arrow-${(0,b.useId)()}`,{sup:C,dem:w,shifted:T,eq:E,eqShift:D,sx:O,sy:k,clip:A,qticks:j,pticks:M}=(0,b.useMemo)(()=>{let e=dt(r,{intercept:0,slope:1}),t=dt(o,{intercept:10,slope:-1}),n=s?dt(s.to,s.curve===`supply`?e:t):null,i=ft(e,t),a=n&&s?ft(s.curve===`supply`?n:e,s.curve===`demand`?n:t):null,l=[i?.q??0,a?.q??0].filter(e=>e>0),p=[i?.p??0,a?.p??0].filter(e=>e>0),m=Math.max(t.intercept,n&&s?.curve===`demand`?n.intercept:0),h=Math.max(0,e.intercept),g=u??Math.max(l.length?Math.max(...l)*1.6:10,t.slope===0?10:-t.intercept/t.slope*.95),_=f??Math.max(p.length?Math.max(...p)*1.6:10,m*1.02,h),v=g>0?g:10,y=_>0?_:10;return{sup:e,dem:t,shifted:n,eq:i,eqShift:a,qHi:v,pHi:y,sx:e=>st+e/v*(at-st-ct),sy:e=>ot-ut-e/y*(ot-lt-ut),clip:e=>{let t=[],n=(e,n)=>{e>=-1e-6&&e<=v+1e-6&&n>=-1e-6&&n<=y+1e-6&&t.push({q:e,p:n})};n(0,e.intercept),n(v,e.intercept+e.slope*v),e.slope!==0&&(n(-e.intercept/e.slope,0),n((y-e.intercept)/e.slope,y));let r=[];for(let e of t)r.some(t=>Math.abs(t.q-e.q)<1e-4&&Math.abs(t.p-e.p)<1e-4)||r.push(e);r.sort((e,t)=>e.q-t.q);let i=r[0]??{q:0,p:e.intercept},a=r[r.length-1]??{q:v,p:e.intercept+e.slope*v};return{q1:i.q,p1:i.p,q2:a.q,p2:a.p}},qticks:c(0,v,d(v)).filter(e=>e>0),pticks:c(0,y,d(y)).filter(e=>e>0)}},[r,o,s,u,f]),N=s&&D?D:E,P=g&&!!N&&N.q>0&&N.p>0,F=P&&N?j.filter(e=>Math.abs(O(e)-O(N.q))>16):j,I=P&&N?M.filter(e=>Math.abs(k(e)-k(N.p))>11):M,L=(0,b.useMemo)(()=>{if(!l||l===`none`||!E)return null;let e=E.p,t=E.q;if(l===`consumer`){let n={q:0,p:w.intercept};return[`M ${O(0)},${k(e)}`,`L ${O(0)},${k(n.p)}`,`L ${O(t)},${k(e)}`,`Z`].join(` `)}if(l===`producer`){let n={q:0,p:C.intercept};return[`M ${O(0)},${k(e)}`,`L ${O(0)},${k(n.p)}`,`L ${O(t)},${k(e)}`,`Z`].join(` `)}return null},[l,E,w,C,O,k]),ee=A(C),R=A(w),te=T?A(T):null,z=s?s.curve===`supply`?ee:R:null,B=s&&te?te:null,ne=s?.curve===`demand`?ht:mt;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(v||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(y,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`sud-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${at} ${ot}`,className:`sud-svg`,role:`img`,"aria-label":e,children:[j.map(e=>(0,x.jsx)(`line`,{x1:O(e),y1:lt,x2:O(e),y2:ot-ut,className:`sud-grid`},`gq${e}`)),M.map(e=>(0,x.jsx)(`line`,{x1:st,y1:k(e),x2:at-ct,y2:k(e),className:`sud-grid`},`gp${e}`)),L&&(0,x.jsx)(`path`,{d:L,fill:`color-mix(in oklab, ${l===`producer`?mt:ht} 16%, transparent)`,stroke:`none`}),(0,x.jsx)(`line`,{x1:st,y1:ot-ut,x2:at-ct,y2:ot-ut,className:`sud-axis`}),(0,x.jsx)(`line`,{x1:st,y1:lt,x2:st,y2:ot-ut,className:`sud-axis`}),F.map(e=>(0,x.jsx)(`text`,{x:O(e),y:216,className:`sud-tick`,textAnchor:`middle`,children:e},`qt${e}`)),I.map(e=>(0,x.jsxs)(`text`,{x:st-5,y:k(e)+3,className:`sud-tick`,textAnchor:`end`,children:[h,e]},`pt${e}`)),z&&B&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`line`,{x1:O(z.q1),y1:k(z.p1),x2:O(z.q2),y2:k(z.p2),stroke:ne,className:`sud-curve sud-curve--ghost`}),(0,x.jsx)(`line`,{x1:(O(z.q1)+O(z.q2))/2,y1:(k(z.p1)+k(z.p2))/2,x2:(O(B.q1)+O(B.q2))/2,y2:(k(B.p1)+k(B.p2))/2,className:`sud-shift-arrow`,markerEnd:`url(#${S})`})]}),(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:S,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M 0 1 L 9 5 L 0 9 z`,fill:`var(--text-secondary)`})})}),(0,x.jsx)(`line`,{x1:O((s?.curve===`supply`&&B?B:ee).q1),y1:k((s?.curve===`supply`&&B?B:ee).p1),x2:O((s?.curve===`supply`&&B?B:ee).q2),y2:k((s?.curve===`supply`&&B?B:ee).p2),stroke:mt,className:`sud-curve`}),(0,x.jsx)(`line`,{x1:O((s?.curve===`demand`&&B?B:R).q1),y1:k((s?.curve===`demand`&&B?B:R).p1),x2:O((s?.curve===`demand`&&B?B:R).q2),y2:k((s?.curve===`demand`&&B?B:R).p2),stroke:ht,className:`sud-curve`}),(0,x.jsxs)(`text`,{x:O((s?.curve===`supply`&&B?B:ee).q2)-3,y:k((s?.curve===`supply`&&B?B:ee).p2)-5,fill:mt,className:`sud-curve-lbl`,textAnchor:`end`,children:[`S`,s?.curve===`supply`?`₁`:``]}),(0,x.jsxs)(`text`,{x:O((s?.curve===`demand`&&B?B:R).q2)-3,y:k((s?.curve===`demand`&&B?B:R).p2)-5,fill:ht,className:`sud-curve-lbl`,textAnchor:`end`,children:[`D`,s?.curve===`demand`?`₁`:``]}),g&&N&&N.q>0&&N.p>0&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:st,y1:k(N.p),x2:O(N.q),y2:k(N.p),className:`sud-guide`}),(0,x.jsx)(`line`,{x1:O(N.q),y1:ot-ut,x2:O(N.q),y2:k(N.p),className:`sud-guide`}),(0,x.jsx)(`circle`,{cx:O(N.q),cy:k(N.p),r:4,className:`sud-eq`,"data-mark":`point`}),(0,x.jsxs)(`text`,{x:st-5,y:k(N.p)-4,className:`sud-eq-lbl`,textAnchor:`end`,children:[`P* `,h,pt(N.p)]}),(0,x.jsxs)(`text`,{x:O(N.q)+4,y:216,className:`sud-eq-lbl`,textAnchor:`start`,children:[`Q* `,pt(N.q)]})]}),(0,x.jsx)(`text`,{x:180,y:ot-6,className:`sud-axis-lbl`,textAnchor:`middle`,children:m}),(0,x.jsx)(`text`,{x:41,y:lt,className:`sud-axis-lbl`,textAnchor:`start`,children:p})]})}),_&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(_)})]})}var _t=340,vt=248,yt=46,bt=16,xt=16,St=44,Ct=`var(--insight)`,wt=`var(--warning)`;function Tt({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,fixedCost:r,pricePerUnit:o,costPerUnit:l,maxUnits:u,unit:f=`units`,currency:p=`$`,caption:m,footer:h,delay:g}){let _=i[t]||i.chart,v=(0,b.useId)().replace(/:/g,``),{margin:y,beUnits:S,bePoint:C,uHi:w,sx:T,sy:E,revenueAt:D,totalCostAt:O,uticks:k,yticks:A}=(0,b.useMemo)(()=>{let e=o-l,t=e>0&&r>=0?r/e:null,n=u&&u>0?u:t&&t>0?Math.max(t*2,1):10,i=e=>o*e,a=e=>r+l*e,s=Math.max(i(n),a(n),r,1);return{margin:e,beUnits:t,bePoint:t!=null&&t<=n?{u:t,y:i(t)}:null,uHi:n,yHi:s,sx:e=>yt+e/(n||1)*(_t-yt-bt),sy:e=>vt-St-e/(s||1)*(vt-xt-St),revenueAt:i,totalCostAt:a,uticks:c(0,n,d(n)).filter(e=>e>0),yticks:c(0,s,d(s)).filter(e=>e>0)}},[r,o,l,u]),j=e=>`${p}${s(Math.round(e),{compact:Math.abs(e)>=1e4})}`,M=e=>s(Math.round(e)),N={u:w,y:D(w)},P={u:w,y:O(w)},F=C?T(C.u):null,I=F==null?null:[`M ${T(0)},${E(D(0))}`,`L ${F},${E(C.y)}`,`L ${T(0)},${E(O(0))}`,`Z`].join(` `),L=F==null?null:[`M ${F},${E(C.y)}`,`L ${T(w)},${E(D(w))}`,`L ${T(w)},${E(O(w))}`,`Z`].join(` `);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(g||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`bev-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${_t} ${vt}`,className:`bev-svg`,role:`img`,"aria-label":e,children:[k.map(e=>(0,x.jsx)(`line`,{x1:T(e),y1:xt,x2:T(e),y2:vt-St,className:`bev-grid`},`gu${e}`)),A.map(e=>(0,x.jsx)(`line`,{x1:yt,y1:E(e),x2:_t-bt,y2:E(e),className:`bev-grid`},`gy${e}`)),I&&(0,x.jsx)(`path`,{d:I,className:`bev-loss`}),L&&(0,x.jsx)(`path`,{d:L,className:`bev-profit`}),(0,x.jsx)(`line`,{x1:yt,y1:E(r),x2:_t-bt,y2:E(r),className:`bev-fixed`}),(0,x.jsx)(`line`,{x1:yt,y1:vt-St,x2:_t-bt,y2:vt-St,className:`bev-axis`}),(0,x.jsx)(`line`,{x1:yt,y1:xt,x2:yt,y2:vt-St,className:`bev-axis`}),A.map(e=>(0,x.jsx)(`text`,{x:yt-5,y:E(e)+3,className:`bev-tick`,textAnchor:`end`,children:j(e)},`yt${e}`)),k.filter(e=>F==null||Math.abs(T(e)-F)>16).map(e=>(0,x.jsx)(`text`,{x:T(e),y:216,className:`bev-tick`,textAnchor:`middle`,children:M(e)},`ut${e}`)),(0,x.jsx)(`line`,{x1:T(0),y1:E(O(0)),x2:T(P.u),y2:E(P.y),stroke:wt,className:`bev-line`}),(0,x.jsx)(`line`,{x1:T(0),y1:E(D(0)),x2:T(N.u),y2:E(N.y),stroke:Ct,className:`bev-line`}),(0,x.jsx)(`text`,{x:T(N.u)-3,y:E(N.y)-5,fill:Ct,className:`bev-line-lbl`,textAnchor:`end`,children:`Revenue`}),(0,x.jsx)(`text`,{x:T(P.u)-3,y:E(P.y)+(P.y>=N.y?-5:12),fill:wt,className:`bev-line-lbl`,textAnchor:`end`,children:`Total cost`}),C&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:yt,y1:E(C.y),x2:T(C.u),y2:E(C.y),className:`bev-guide`}),(0,x.jsx)(`line`,{x1:T(C.u),y1:vt-St,x2:T(C.u),y2:E(C.y),className:`bev-guide`}),(0,x.jsx)(`circle`,{cx:T(C.u),cy:E(C.y),r:4,className:`bev-dot`,"data-mark":`point`}),(0,x.jsx)(`text`,{x:T(C.u),y:216,className:`bev-eq-lbl`,textAnchor:`middle`,children:M(C.u)})]}),(0,x.jsxs)(`text`,{x:185,y:vt-6,className:`bev-axis-lbl`,textAnchor:`middle`,children:[f,` sold`]}),(0,x.jsx)(`text`,{x:49,y:xt,className:`bev-axis-lbl`,textAnchor:`start`,children:p})]})}),(0,x.jsxs)(`div`,{className:`bev-callouts`,id:`bev-${v}`,children:[(0,x.jsxs)(`div`,{className:`bev-callout`,children:[(0,x.jsx)(`span`,{className:`bev-callout-k`,children:`Break-even`}),(0,x.jsx)(`span`,{className:`bev-callout-v`,children:S!=null&&S<=w?(0,x.jsxs)(x.Fragment,{children:[M(S),` `,(0,x.jsx)(`span`,{className:`bev-callout-u`,children:f})]}):`—`})]}),(0,x.jsxs)(`div`,{className:`bev-callout`,children:[(0,x.jsx)(`span`,{className:`bev-callout-k`,children:`Contribution / unit`}),(0,x.jsx)(`span`,{className:`bev-callout-v`,style:{color:y>0?Ct:wt},children:j(y)})]})]}),m&&(0,x.jsx)(`div`,{className:`bev-caption`,children:m}),h&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(h)})]})}var Et=340,Dt=230,Ot=38,kt=56,At=14,jt=26,Mt={"o-1":{label:`O(1)`,color:`var(--text-muted)`,f:()=>1},"o-logn":{label:`O(log n)`,color:`var(--presence)`,f:e=>Math.log2(Math.max(1,e))},"o-n":{label:`O(n)`,color:`var(--insight)`,f:e=>e},"o-nlogn":{label:`O(n log n)`,color:`var(--warning)`,f:e=>e*Math.log2(Math.max(2,e))},"o-n2":{label:`O(n²)`,color:`var(--danger)`,f:e=>e*e},"o-2n":{label:`O(2ⁿ)`,color:`var(--danger)`,f:e=>2**e}},Nt=[`o-1`,`o-logn`,`o-n`,`o-nlogn`,`o-n2`,`o-2n`],Pt=[`o-1`,`o-logn`,`o-n`,`o-nlogn`,`o-n2`,`o-2n`];function Ft({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,classes:r=Pt,maxN:o=16,highlight:s,algorithm:f,xLabel:p=`input size (n)`,yLabel:m=`operations`,footer:h,delay:g}){let _=i[t]||i.chart,[v,y]=(0,b.useState)(null),{curves:S,sx:C,sy:w,nMax:T,yTop:E,xTicks:D,yTicks:O}=(0,b.useMemo)(()=>{let e=new Set(r.filter(e=>e in Mt)),t=Nt.filter(t=>e.has(t)),n=Math.max(2,Math.min(64,Math.round(o))),i=n+1,a=e=>e/n*n,s=t.filter(e=>e!==`o-2n`),u=s.length>0?Math.max(...s.map(e=>Mt[e].f(n))):n,f=Math.max(4,u),p=l([0,n],[Ot,Et-kt]),m=l([0,f],[Dt-jt,At]),h=t.map(e=>{let{f:t,label:r,color:i}=Mt[e],o=[];for(let e=0;e<=n;e++){let n=a(e),r=t(n);o.push({x:p(n),y:m(Math.min(r,f))})}let s=n;for(let e=0;e<=n;e++)if(t(a(e))>f){s=Math.max(0,e-1);break}return{id:e,label:r,color:i,points:o,anchor:o[s]}}),g=d(f,4),_=d(n,5);return{shown:t,curves:h,sx:p,sy:m,nMax:n,yTop:f,samples:i,xTicks:c(0,n,Math.max(1,Math.round(_))),yTicks:c(0,f,g)}},[r,o]),k=f&&f.complexity in Mt?f.complexity:void 0,[,A]=u(0,E,4);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(g||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`bgo-wrap`,onMouseLeave:()=>y(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Et} ${Dt}`,className:`bgo-svg`,role:`img`,"aria-label":e,children:[D.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:C(e),y1:At,x2:C(e),y2:Dt-jt,className:`bgo-grid`}),(0,x.jsx)(`text`,{x:C(e),y:216,className:`bgo-tick`,textAnchor:`middle`,children:e})]},`gx${e}`)),O.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:Ot,y1:w(e),x2:Et-kt,y2:w(e),className:`bgo-grid`}),(0,x.jsx)(`text`,{x:Ot-5,y:w(e)+3,className:`bgo-tick`,textAnchor:`end`,children:e===A||e===E?`${e}+`:e})]},`gy${e}`)),(0,x.jsx)(`line`,{x1:Ot,y1:Dt-jt,x2:Et-kt,y2:Dt-jt,className:`bgo-axis`}),(0,x.jsx)(`line`,{x1:Ot,y1:At,x2:Ot,y2:Dt-jt,className:`bgo-axis`}),(0,x.jsx)(`text`,{x:(378-kt)/2,y:Dt-3,className:`bgo-axlbl`,textAnchor:`middle`,children:p}),(0,x.jsx)(`text`,{x:0,y:0,transform:`translate(11, ${(244-jt)/2}) rotate(-90)`,className:`bgo-axlbl`,textAnchor:`middle`,children:m}),S.map(e=>{let t=v===e.id,n=s===e.id,r=k===e.id,i=v!==null&&!t,a=t||n||r;return(0,x.jsx)(`polyline`,{points:e.points.map(e=>`${e.x.toFixed(2)},${e.y.toFixed(2)}`).join(` `),fill:`none`,stroke:e.color,strokeWidth:a?3:1.8,strokeLinejoin:`round`,strokeLinecap:`round`,style:{opacity:i?.22:n||r?1:.92,transition:`opacity var(--m-fast)`},onMouseEnter:()=>y(e.id)},e.id)}),S.map(e=>{let t=s===e.id||k===e.id;return(0,x.jsx)(`text`,{x:Et-3,y:e.anchor.y+3,fill:e.color,className:t?`bgo-curve-lbl bgo-curve-lbl--hi`:`bgo-curve-lbl`,textAnchor:`end`,style:{opacity:v!==null&&v!==e.id?.22:1},children:e.label},`lbl${e.id}`)}),k&&f&&(()=>{let e=S.find(e=>e.id===k);if(!e)return null;let t=e.points[Math.floor(e.points.length*.45)];return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:t.x,cy:t.y,r:3.4,fill:e.color,"data-mark":`point`}),(0,x.jsx)(`text`,{x:t.x,y:t.y-8,className:`bgo-algo-lbl`,textAnchor:`middle`,children:f.name})]})})()]})}),(0,x.jsx)(`div`,{className:`bgo-legend`,children:S.map(e=>{let t=v===e.id,n=s===e.id||k===e.id;return(0,x.jsxs)(`button`,{type:`button`,className:`bgo-leg`+(t?` on`:``)+(n?` flagged`:``),onMouseEnter:()=>y(e.id),onMouseLeave:()=>y(null),children:[(0,x.jsx)(`i`,{style:{background:e.color}}),e.label]},e.id)})}),(0,x.jsxs)(`div`,{className:`bgo-meta`,children:[`at n = `,T,`, an O(2ⁿ) step costs ~`,(2**T).toLocaleString(),` ops vs `,T,` `,`for O(n)`]}),h&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(h)})]})}var It=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],Lt=480,Rt=270,W={top:18,right:18,bottom:46,left:52},zt=5.7;function Bt(e,t){let n=Math.max(1,Math.floor(t/zt));return e.length>n?`${e.slice(0,Math.max(1,n-1)).trimEnd()}…`:e}function Vt(e){return typeof e.low==`number`&&typeof e.high==`number`?[Math.min(e.low,e.high),Math.max(e.low,e.high)]:typeof e.ci==`number`&&e.ci>0?[e.mean-e.ci,e.mean+e.ci]:null}function Ht({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,groups:r,unit:o=``,yLabel:s,bars:p=!1,reference:m,bracket:h,footer:g,delay:_}){let v=i[t]||i.chart,[y,S]=(0,b.useState)(null),C=Lt-W.left-W.right,w=Rt-W.top-W.bottom,T=e=>{let t=Math.abs(e)>=100?Math.round(e):Math.round(e*100)/100;return o?`${t}${o}`:`${t}`},E=(0,b.useMemo)(()=>{let e=[];for(let t of r){e.push(t.mean);let n=Vt(t);n&&e.push(n[0],n[1])}typeof m?.value==`number`&&e.push(m.value),p&&e.push(0);let t=f(e)??[0,1],[n,i]=u(t[0],t[1],5),a=l([n,i],[W.top+w,W.top]),o=c(n,i,d(i-n,5)),s=C/Math.max(r.length,1);return{yMin:n,yMax:i,sy:a,yTicks:o,slot:s,cx:e=>W.left+s*(e+.5),cap:Math.min(14,s*.22),barHalf:Math.min(26,s*.3),yZero:a(0)}},[r,m,p,C,w]),{sy:D,yTicks:O,cx:k,cap:A,barHalf:j,yZero:M}=E;if(r.length===0)return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(_||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(v,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`faint`,style:{fontSize:13,margin:0},children:`No groups.`})]});let N=(()=>{if(!h)return null;let e=Math.min(h.from,h.to),t=Math.max(h.from,h.to);if(e<0||t>=r.length||e===t)return null;let n=k(e),i=k(t),a=W.top+w;for(let n=e;n<=t;n++){let e=Vt(r[n]);a=Math.min(a,D(e?e[1]:r[n].mean),D(r[n].mean))}return{x1:n,x2:i,y:Math.max(W.top+8,a-14),label:h.label}})();return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(_||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(v,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`erb-wrap`,onMouseLeave:()=>S(null),children:(0,x.jsxs)(`svg`,{role:`img`,width:`100%`,viewBox:`0 0 ${Lt} ${Rt}`,className:`erb-svg`,"aria-label":e,children:[O.map(e=>{let t=D(e);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`erb-grid`,x1:W.left,y1:t,x2:Lt-W.right,y2:t}),(0,x.jsx)(`text`,{className:`erb-ytick`,x:W.left-8,y:t+3.5,textAnchor:`end`,children:T(e)})]},`y${e}`)}),(0,x.jsx)(`line`,{className:`erb-axis`,x1:W.left,y1:W.top,x2:W.left,y2:W.top+w}),(0,x.jsx)(`line`,{className:`erb-axis`,x1:W.left,y1:W.top+w,x2:Lt-W.right,y2:W.top+w}),s&&(0,x.jsx)(`text`,{className:`erb-ylabel`,x:0,y:0,transform:`translate(${W.left-38},${W.top+w/2}) rotate(-90)`,textAnchor:`middle`,children:s}),typeof m?.value==`number`&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`erb-ref`,x1:W.left,y1:D(m.value),x2:Lt-W.right,y2:D(m.value)}),m.label&&(0,x.jsx)(`text`,{className:`erb-ref-lbl`,x:Lt-W.right-2,y:D(m.value)-4,textAnchor:`end`,children:m.label})]}),r.map((e,t)=>{let n=k(t),r=e.color||It[t%It.length],i=D(e.mean),a=Vt(e),o=y===t;return(0,x.jsxs)(`g`,{onMouseEnter:()=>S(t),style:{cursor:`default`},children:[(0,x.jsx)(`rect`,{x:n-E.slot/2,y:W.top,width:E.slot,height:w,fill:`transparent`}),p&&(0,x.jsx)(`rect`,{className:`erb-bar`,x:n-j,y:Math.min(i,M),width:j*2,height:Math.abs(M-i),style:{fill:r,opacity:o?.34:.22}}),a&&(0,x.jsxs)(`g`,{className:`erb-whisk`,style:{stroke:r},children:[(0,x.jsx)(`line`,{x1:n,y1:D(a[0]),x2:n,y2:D(a[1])}),(0,x.jsx)(`line`,{x1:n-A,y1:D(a[1]),x2:n+A,y2:D(a[1])}),(0,x.jsx)(`line`,{x1:n-A,y1:D(a[0]),x2:n+A,y2:D(a[0])})]}),(0,x.jsx)(`circle`,{className:`erb-pt`,cx:n,cy:i,r:o?5.5:4.5,style:{fill:r}}),(0,x.jsxs)(`text`,{className:`erb-xtick`,x:n,y:W.top+w+16,textAnchor:`middle`,children:[e.label.length>Math.floor(E.slot/zt)&&(0,x.jsx)(`title`,{children:e.label}),Bt(e.label,E.slot)]})]},t)}),y!=null&&(()=>{let e=r[y],t=Vt(e),n=e.color||It[y%It.length];return(0,x.jsx)(`g`,{className:`erb-tip`,children:(0,x.jsxs)(`text`,{className:`erb-tip-mean`,x:W.left+C/2,y:W.top+12,textAnchor:`middle`,style:{fill:n},children:[e.label,`: `,T(e.mean),t?` (${T(t[0])}–${T(t[1])})`:``]})})})(),N&&(0,x.jsxs)(`g`,{className:`erb-brk`,children:[(0,x.jsx)(`path`,{d:`M ${N.x1} ${N.y+6} L ${N.x1} ${N.y} L ${N.x2} ${N.y} L ${N.x2} ${N.y+6}`}),(0,x.jsx)(`text`,{x:(N.x1+N.x2)/2,y:N.y-4,textAnchor:`middle`,children:N.label})]})]})}),g&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(g)})]})}var Ut=720,Wt=96,Gt=16,Kt=20,qt=40,Jt=18,Yt=24,Xt=5.9,Zt=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`];function Qt(e){return e<0?`${Math.abs(Math.round(e))} BCE`:`${Math.round(e)}`}function $t({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,tracks:r,min:o,max:s,footer:p,delay:m}){let h=i[t]||i.clock,[g,_]=(0,b.useState)(null),{sx:v,yearTicks:y,domain:S,H:C}=(0,b.useMemo)(()=>{let e=[];for(let t of r){for(let n of t.spans)e.push(n.start,n.end);for(let n of t.events??[])e.push(n.at)}let t=f(e),[n,i]=o!=null&&s!=null?[o,s]:t?u(o??t[0],s??t[1]):[0,100],a=l([n,i],[Wt,Ut-Gt]),p=c(n,i,d(i-n,5)),m=Kt+r.length*qt+Yt;return{sx:a,yearTicks:p,domain:[n,i],H:m}},[r,o,s]),w=e=>Kt+e*qt+(qt-Yt)/2,T=C-Yt+4;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(m||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(h,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`era-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Ut} ${C}`,className:`era-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`g`,{className:`era-grid`,children:y.map(e=>(0,x.jsx)(`line`,{x1:v(e),y1:Kt-6,x2:v(e),y2:T-4},`g${e}`))}),(0,x.jsx)(`line`,{x1:Wt,y1:T-4,x2:Ut-Gt,y2:T-4,className:`era-axis`}),y.map(e=>(0,x.jsx)(`text`,{x:v(e),y:T+8,className:`era-tick`,textAnchor:`middle`,children:Qt(e)},`t${e}`)),r.map((e,t)=>{let n=w(t),r=e.color||Zt[t%Zt.length];return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{x:Wt-8,y:n+4,className:`era-track-lbl`,textAnchor:`end`,children:e.label}),e.spans.map((e,i)=>{let a=v(Math.max(e.start,S[0])),o=v(Math.min(e.end,S[1])),s=Math.max(o-a,1.5),c=e.color||r,l=`${t}-${i}`,u=g===l,d=Math.floor((s-10)/Xt),f=d>=3,p=f?e.label.length<=d?e.label:e.label.slice(0,Math.max(1,d-1)).trimEnd()+`…`:e.label.length>16?e.label.slice(0,15).trimEnd()+`…`:e.label;return(0,x.jsxs)(`g`,{onMouseEnter:()=>_(l),onMouseLeave:()=>_(e=>e===l?null:e),children:[(0,x.jsx)(`rect`,{x:a,y:n-Jt/2,width:s,height:Jt,rx:3,fill:`color-mix(in oklab, ${c} ${u?34:22}%, transparent)`,stroke:c,strokeWidth:u?1.4:1,className:`era-band`}),f?(0,x.jsx)(`text`,{x:a+s/2,y:n,className:`era-band-lbl`,textAnchor:`middle`,dominantBaseline:`central`,fill:`var(--text-primary)`,children:p}):(0,x.jsx)(`text`,{x:a+s/2,y:n-Jt/2-4,className:`era-band-lbl-out`,textAnchor:`middle`,fill:c,children:p}),(0,x.jsxs)(`title`,{children:[e.label,`: `,Qt(e.start),` – `,Qt(e.end)]})]},l)}),(e.events??[]).map((e,t)=>{let i=v(e.at);return(0,x.jsxs)(`g`,{className:`era-event`,children:[(0,x.jsx)(`line`,{x1:i,y1:n-Jt/2-3,x2:i,y2:n+Jt/2+3,stroke:r,strokeWidth:1}),(0,x.jsx)(`circle`,{cx:i,cy:n+Jt/2+5,r:2.4,fill:r}),(0,x.jsx)(`text`,{x:i,y:n+Jt/2+15,className:`era-event-lbl`,textAnchor:`middle`,children:e.label})]},`e${t}`)})]},`tr${t}`)})]})}),p&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(p)})]})}var en=340,G=252,K=40,tn=30,nn=14,rn=44,an=`var(--presence)`,on=`var(--insight)`;function sn(e){if(!e)return null;if(e.points&&e.points.length>=2){let[t,n]=e.points,r=n.x-t.x;if(r===0)return null;let i=(n.y-t.y)/r;return{intercept:t.y-i*t.x,slope:i}}return typeof e.intercept==`number`&&typeof e.slope==`number`?{intercept:e.intercept,slope:e.slope}:null}function cn(e){return(Math.round(e*100)/100).toString()}var ln=10,un=16;function dn(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function fn({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,curves:r,budget:o,optimal:s,xLabel:l=`Good X`,yLabel:u=`Good Y`,xMax:f,yMax:p,footer:m,delay:h}){let g=i[t]||i.chart,_=`idf-clip-${(0,b.useId)().replace(/:/g,``)}`,{sx:v,sy:y,budgetSeg:S,xticks:C,yticks:w}=(0,b.useMemo)(()=>{let e=sn(o),t=r.flatMap(e=>e.points.map(e=>e.x)),n=r.flatMap(e=>e.points.map(e=>e.y));s&&(t.push(s.x),n.push(s.y)),e&&(n.push(e.intercept),e.slope!==0&&t.push(-e.intercept/e.slope));let i=f??Math.max(...t,1)*1.04,a=p??Math.max(...n,1)*1.04,l=en-K-tn,u=G-nn-rn,m=e=>K+e/i*l,h=e=>G-rn-e/a*u,g=null;if(e){let t=[],n=(e,n)=>{e>=-1e-6&&e<=i+1e-6&&n>=-1e-6&&n<=a+1e-6&&t.push({x:e,y:n})};n(0,e.intercept),n(i,e.intercept+e.slope*i),e.slope!==0&&(n(-e.intercept/e.slope,0),n((a-e.intercept)/e.slope,a));let r=[];for(let e of t)r.some(t=>Math.abs(t.x-e.x)<1e-4&&Math.abs(t.y-e.y)<1e-4)||r.push(e);r.sort((e,t)=>e.x-t.x);let o=r[0],s=r[r.length-1];o&&s&&(o.x!==s.x||o.y!==s.y)&&(g={x1:o.x,y1:o.y,x2:s.x,y2:s.y})}return{sx:m,sy:h,xHi:i,yHi:a,budgetSeg:g,xticks:c(0,i,d(i)).filter(e=>e>0),yticks:c(0,a,d(a)).filter(e=>e>0)}},[r,o,s,f,p]),T=(0,b.useMemo)(()=>r.map(e=>{let t=e.points[e.points.length-1];return t?{x:v(t.x),y:y(t.y)}:null}),[r,v,y]);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(h||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`idf-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${en} ${G}`,className:`idf-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`clipPath`,{id:_,children:(0,x.jsx)(`rect`,{x:K,y:nn,width:en-K-tn,height:G-nn-rn})})}),C.map(e=>(0,x.jsx)(`line`,{x1:v(e),y1:nn,x2:v(e),y2:G-rn,className:`idf-grid`},`gx${e}`)),w.map(e=>(0,x.jsx)(`line`,{x1:K,y1:y(e),x2:en-tn,y2:y(e),className:`idf-grid`},`gy${e}`)),(0,x.jsx)(`line`,{x1:K,y1:G-rn,x2:en-tn,y2:G-rn,className:`idf-axis`}),(0,x.jsx)(`line`,{x1:K,y1:nn,x2:K,y2:G-rn,className:`idf-axis`}),C.map(e=>(0,x.jsx)(`text`,{x:v(e),y:220,className:`idf-tick`,textAnchor:`middle`,children:e},`xt${e}`)),w.map(e=>(0,x.jsx)(`text`,{x:K-5,y:y(e)+3,className:`idf-tick`,textAnchor:`end`,children:e},`yt${e}`)),(0,x.jsx)(`g`,{clipPath:`url(#${_})`,children:r.map((e,t)=>{let n=e.points.map(e=>`${v(e.x)},${y(e.y)}`).join(` `),r=!!s&&e.points.some(e=>Math.abs(e.x-s.x)<1e-6&&Math.abs(e.y-s.y)<1e-6);return(0,x.jsx)(`polyline`,{points:n,fill:`none`,stroke:e.color||an,className:r?`idf-curve idf-curve--best`:`idf-curve`},`c${t}`)})}),r.map((e,t)=>{let n=T[t];if(!n)return null;let r=e.label.length>ln;return(0,x.jsxs)(`text`,{x:Math.min(n.x+4,en-3),y:n.y+3,fill:e.color||an,className:`idf-curve-lbl`,textAnchor:`end`,children:[r&&(0,x.jsx)(`title`,{children:e.label}),dn(e.label,ln)]},`cl${t}`)}),S&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`line`,{x1:v(S.x1),y1:y(S.y1),x2:v(S.x2),y2:y(S.y2),stroke:on,className:`idf-budget`}),(0,x.jsx)(`text`,{x:v(S.x1)+4,y:Math.max(y(S.y1)-4,22),fill:on,className:`idf-budget-lbl`,textAnchor:`start`,children:`budget`})]}),s&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:K,y1:y(s.y),x2:v(s.x),y2:y(s.y),className:`idf-guide`}),(0,x.jsx)(`line`,{x1:v(s.x),y1:G-rn,x2:v(s.x),y2:y(s.y),className:`idf-guide`}),(0,x.jsx)(`circle`,{cx:v(s.x),cy:y(s.y),r:4.5,className:`idf-optimal`,"data-mark":`point`}),(()=>{let e=dn(s.label||`(${cn(s.x)}, ${cn(s.y)})`,un),t=en-3-v(s.x)<e.length*5.5+7;return(0,x.jsxs)(`text`,{x:t?Math.max(v(s.x)-7,43):v(s.x)+7,y:y(s.y)-6,className:`idf-optimal-lbl`,textAnchor:t?`end`:`start`,children:[s.label&&s.label.length>un&&(0,x.jsx)(`title`,{children:s.label}),e]})})()]}),(0,x.jsx)(`text`,{x:175,y:G-6,className:`idf-axis-lbl`,textAnchor:`middle`,children:l}),(0,x.jsx)(`text`,{x:43,y:nn,className:`idf-axis-lbl`,textAnchor:`start`,children:u})]})}),m&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(m)})]})}var pn=340,mn=244,hn=46,gn=20,_n=16,vn=44;function yn(e,t){return e.type===`call`?Math.max(t-e.strike,0):Math.max(e.strike-t,0)}function bn(e,t){return(e.position===`short`?-1:1)*(e.qty??1)*(yn(e,t)-e.premium)}function xn(e,t){let n=0;for(let r of e)n+=bn(r,t);return n}function Sn(e,t){let n=Math.abs(e)>=100?Math.round(e):Math.round(e*100)/100;return`${n<0?`−`:``}${t}${Math.abs(n).toString()}`}function Cn({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,legs:r,priceMin:o,priceMax:s,pricePrefix:l=`$`,underlyingLabel:u=`Underlying price at expiration`,pnlLabel:f=`Profit / loss`,spot:p,footer:m,delay:h}){let g=i[t]||i.chart,_=(0,b.useMemo)(()=>{let e=r.map(e=>e.strike),t=Math.min(...e),n=Math.max(...e),i=n-t||n*.2||10,a=o??Math.max(0,t-i*.6-n*.05),l=s??n+i*.6+n*.05,u=[];for(let e=0;e<=240;e++){let t=a+(l-a)*e/240;u.push({s:t,y:xn(r,t)})}let f=u.map(e=>e.y),p=Math.min(0,...f),m=Math.max(0,...f);p===m&&(--p,m+=1);let h=(m-p)*.12;p-=h,m+=h;let g=e=>hn+(e-a)/(l-a||1)*(pn-hn-gn),_=e=>_n+(1-(e-p)/(m-p||1))*(mn-_n-vn),v=[];for(let e=1;e<u.length;e++){let t=u[e-1],n=u[e];if(t.y===0){v.some(e=>Math.abs(e-t.s)<1e-6)||v.push(t.s);continue}if(t.y<0&&n.y>0||t.y>0&&n.y<0){let e=t.y/(t.y-n.y);v.push(t.s+e*(n.s-t.s))}}let y=xn(r,l+i)-xn(r,l),b=xn(r,a)-xn(r,a-i),x=Math.max(...f),S=Math.min(...f),C=y>1e-9,w=y<-1e-9;return{xLo:a,xHi:l,yLo:p,yHi:m,sx:g,sy:_,samples:u,breakevens:v,strikes:Array.from(new Set(e)).sort((e,t)=>e-t),xticks:c(a,l,d(l-a)),yticks:c(p,m,d(m-p)),maxProfit:x,maxLoss:S,maxProfitUnlimited:C,maxLossUnlimited:w,tailSlopeLo:b}},[r,o,s]),{sx:v,sy:y,samples:S,breakevens:C,strikes:w,xticks:T,yticks:E,maxProfit:D,maxLoss:O,maxProfitUnlimited:k,maxLossUnlimited:A}=_,j=y(0),M=hn,N=pn-gn,P=(0,b.useMemo)(()=>S.map(e=>`${v(e.s)},${y(e.y)}`).join(` `),[S,v,y]),F=(0,b.useMemo)(()=>{let e=[],t=[];for(let n=0;n<S.length;n++){let r=S[n],i=v(r.s);if(n>0){let i=S[n-1];if(i.y<0&&r.y>0||i.y>0&&r.y<0){let n=i.y/(i.y-r.y),a=v(i.s+n*(r.s-i.s));e.push(`${a},${j}`),t.push(`${a},${j}`)}}e.push(`${i},${r.y>0?y(r.y):j}`),t.push(`${i},${r.y<0?y(r.y):j}`)}let n=v(S[0].s),r=v(S[S.length-1].s);return{profitPoly:`${n},${j} ${e.join(` `)} ${r},${j}`,lossPoly:`${n},${j} ${t.join(` `)} ${r},${j}`}},[S,v,y,j]),I=k?`unlimited`:Sn(D,l),L=A?`unlimited`:Sn(O,l);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(h||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`pay-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${pn} ${mn}`,className:`pay-svg`,role:`img`,"aria-label":e,children:[T.map((e,t)=>(0,x.jsx)(`line`,{x1:v(e),y1:_n,x2:v(e),y2:mn-vn,className:`pay-grid`},`gx${t}`)),E.map((e,t)=>(0,x.jsx)(`line`,{x1:M,y1:y(e),x2:N,y2:y(e),className:`pay-grid`},`gy${t}`)),(0,x.jsx)(`polygon`,{points:F.lossPoly,className:`pay-loss`}),(0,x.jsx)(`polygon`,{points:F.profitPoly,className:`pay-profit`}),w.map((e,t)=>(0,x.jsx)(`line`,{x1:v(e),y1:_n,x2:v(e),y2:mn-vn,className:`pay-strike`},`k${t}`)),(0,x.jsx)(`line`,{x1:M,y1:j,x2:N,y2:j,className:`pay-zero`}),(0,x.jsx)(`line`,{x1:M,y1:_n,x2:M,y2:mn-vn,className:`pay-axis`}),(0,x.jsx)(`line`,{x1:M,y1:mn-vn,x2:N,y2:mn-vn,className:`pay-axis`}),E.map((e,t)=>(0,x.jsx)(`text`,{x:M-5,y:y(e)+3,className:`pay-tick`,textAnchor:`end`,children:Sn(e,l)},`yt${t}`)),T.map((e,t)=>(0,x.jsxs)(`text`,{x:v(e),y:213,className:`pay-tick`,textAnchor:`middle`,children:[l,e]},`xt${t}`)),(0,x.jsx)(`polyline`,{points:P,className:`pay-line`,"data-mark":`line`}),C.map((e,t)=>{let n=v(e),r=t>0&&Math.abs(n-v(C[t-1]))<44&&t%2==1;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:n,cy:j,r:3.5,className:`pay-be-dot`,"data-mark":`point`}),(0,x.jsxs)(`text`,{x:n,y:r?j+15:j-7,className:`pay-be-lbl`,textAnchor:`middle`,children:[`BE `,l,Math.round(e*100)/100]})]},`be${t}`)}),typeof p==`number`&&p>=_.xLo&&p<=_.xHi&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:v(p),y1:_n,x2:v(p),y2:mn-vn,className:`pay-spot`}),(0,x.jsxs)(`text`,{x:v(p),y:25,className:`pay-spot-lbl`,textAnchor:`middle`,children:[`spot `,l,p]})]}),(0,x.jsx)(`text`,{x:183,y:mn-6,className:`pay-axis-lbl`,textAnchor:`middle`,children:u}),(0,x.jsx)(`text`,{x:49,y:_n-5,className:`pay-axis-lbl`,textAnchor:`start`,children:f})]})}),(0,x.jsxs)(`div`,{className:`pay-stats`,children:[(0,x.jsxs)(`span`,{className:`pay-stat`,children:[(0,x.jsx)(`i`,{className:`pay-stat-dot pay-stat-dot--up`}),(0,x.jsx)(`span`,{className:`pay-stat-k`,children:`Max profit`}),(0,x.jsx)(`span`,{className:`pay-stat-v`,children:I})]}),(0,x.jsxs)(`span`,{className:`pay-stat`,children:[(0,x.jsx)(`i`,{className:`pay-stat-dot pay-stat-dot--down`}),(0,x.jsx)(`span`,{className:`pay-stat-k`,children:`Max loss`}),(0,x.jsx)(`span`,{className:`pay-stat-v`,children:L})]}),(0,x.jsxs)(`span`,{className:`pay-stat`,children:[(0,x.jsx)(`i`,{className:`pay-stat-dot pay-stat-dot--be`}),(0,x.jsx)(`span`,{className:`pay-stat-k`,children:`Break-even`}),(0,x.jsx)(`span`,{className:`pay-stat-v`,children:C.length?C.map(e=>`${l}${Math.round(e*100)/100}`).join(`, `):`none`})]})]}),m&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(m)})]})}var wn=360,Tn=264,En=52,Dn=20,On=18,kn=46,An={solid:`var(--insight)`,liquid:`var(--presence)`,gas:`var(--warning)`,supercritical:`var(--danger)`};function jn(e){return(Math.round(e*1e3)/1e3).toString()}function Mn(e,t){let n=1/0,r=-1/0,i=1/0,a=-1/0,o=(e,t)=>{!Number.isFinite(e)||!Number.isFinite(t)||(e<n&&(n=e),e>r&&(r=e),t<i&&(i=t),t>a&&(a=t))};for(let t of e)for(let e of t.points)o(e.t,e.p);for(let e of t)e&&o(e.t,e.p);return n===1/0?null:{tLo:n,tHi:r,pLo:i,pHi:a}}function Nn({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,boundaries:r,triplePoint:o,criticalPoint:s,regions:u=[],tLabel:f=`Temperature`,pLabel:p=`Pressure`,tUnit:m,pUnit:h,tDomain:g,pDomain:_,footer:v,delay:y}){let S=i[t]||i.spark,C=(0,b.useMemo)(()=>{let e=Mn(r,[o,s]);if(!e)return null;let t=(e,t)=>{if(e===t)return[e-1,t+1];let n=(t-e)*.08;return[e-n,t+n]},[n,i]=g??t(e.tLo,e.tHi),[a,f]=_??t(e.pLo,e.pHi),p=l([n,i],[En,wn-Dn]),m=l([a,f],[Tn-kn,On]),h=e=>Math.max(En,Math.min(wn-Dn,e)),v=e=>Math.max(On,Math.min(Tn-kn,e)),y=e=>({x:h(p(e.t)),y:v(m(e.p))}),b=r.map(e=>({kind:e.kind,label:e.label,color:e.color||`var(--line-strong)`,pts:e.points.map(y)})),x=u.map(e=>({...y(e),tint:e.color||An[e.phase]||`var(--text-muted)`})),S=u.map(e=>({...y(e),text:e.label,tint:e.color||An[e.phase]||`var(--text-secondary)`,anchor:e.anchor||`middle`})),C=d(i-n),w=d(f-a);return{sx:p,sy:m,tMin:n,tMax:i,pMin:a,pMax:f,curves:b,tintPatches:x,regionLabels:S,triple:o?{...y(o),data:o}:null,critical:s?{...y(s),data:s}:null,tticks:c(n,i,C),pticks:c(a,f,w)}},[r,o,s,u,g,_]),w=m?`${f} (${m})`:f,T=h?`${p} (${h})`:p;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(y||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(S,{className:`ic`,style:{color:n}}),` `,e]}),C&&(0,x.jsx)(`div`,{className:`phd-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${wn} ${Tn}`,className:`phd-svg`,role:`img`,"aria-label":e,children:[C.tticks.map((e,t)=>(0,x.jsx)(`line`,{x1:C.sx(e),y1:On,x2:C.sx(e),y2:Tn-kn,className:`phd-grid`},`gt${t}`)),C.pticks.map((e,t)=>(0,x.jsx)(`line`,{x1:En,y1:C.sy(e),x2:wn-Dn,y2:C.sy(e),className:`phd-grid`},`gp${t}`)),C.tintPatches.map((e,t)=>(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:26,fill:`color-mix(in oklab, ${e.tint} 16%, transparent)`,className:`phd-tint`},`tint${t}`)),(0,x.jsx)(`line`,{x1:En,y1:On,x2:En,y2:Tn-kn,className:`phd-axis`}),(0,x.jsx)(`line`,{x1:En,y1:Tn-kn,x2:wn-Dn,y2:Tn-kn,className:`phd-axis`}),C.tticks.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:C.sx(e),y1:Tn-kn,x2:C.sx(e),y2:222,className:`phd-axis`}),(0,x.jsx)(`text`,{x:C.sx(e),y:232,className:`phd-tick`,textAnchor:`middle`,children:e})]},`tt${t}`)),C.pticks.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:En-4,y1:C.sy(e),x2:En,y2:C.sy(e),className:`phd-axis`}),(0,x.jsx)(`text`,{x:En-7,y:C.sy(e)+3,className:`phd-tick`,textAnchor:`end`,children:e})]},`pt${t}`)),(0,x.jsx)(`text`,{x:196,y:Tn-8,className:`phd-axis-lbl`,textAnchor:`middle`,children:w}),(0,x.jsx)(`text`,{x:0,y:0,transform:`translate(14, ${(282-kn)/2}) rotate(-90)`,className:`phd-axis-lbl`,textAnchor:`middle`,children:T}),C.curves.map((e,t)=>(0,x.jsx)(`polyline`,{points:e.pts.map(e=>`${e.x},${e.y}`).join(` `),fill:`none`,stroke:e.color,className:`phd-curve`,strokeLinejoin:`round`,strokeLinecap:`round`},`b${t}`)),C.regionLabels.map((e,t)=>(0,x.jsx)(`text`,{x:e.x,y:e.y,fill:e.tint,className:`phd-region-lbl`,textAnchor:e.anchor,dominantBaseline:`middle`,children:e.text},`rl${t}`)),C.triple&&(0,x.jsxs)(`g`,{"data-mark":`point`,children:[(0,x.jsx)(`circle`,{cx:C.triple.x,cy:C.triple.y,r:4,className:`phd-pt`}),(0,x.jsx)(`text`,{x:C.triple.x+7,y:C.triple.y-15,className:`phd-pt-lbl`,textAnchor:`start`,children:`Triple point`}),(0,x.jsxs)(`text`,{x:C.triple.x+7,y:C.triple.y-4,className:`phd-pt-sub`,textAnchor:`start`,children:[`(`,jn(C.triple.data.t),m?` ${m}`:``,`, `,jn(C.triple.data.p),h?` ${h}`:``,`)`]})]}),C.critical&&(0,x.jsxs)(`g`,{"data-mark":`point`,children:[(0,x.jsx)(`circle`,{cx:C.critical.x,cy:C.critical.y,r:4,className:`phd-pt`}),(0,x.jsx)(`text`,{x:C.critical.x-7,y:C.critical.y+15,className:`phd-pt-lbl`,textAnchor:`end`,children:`Critical point`}),(0,x.jsxs)(`text`,{x:C.critical.x-7,y:C.critical.y+26,className:`phd-pt-sub`,textAnchor:`end`,children:[`(`,jn(C.critical.data.t),m?` ${m}`:``,`, `,jn(C.critical.data.p),h?` ${h}`:``,`)`]})]})]})}),!C&&(0,x.jsx)(`div`,{className:`phd-empty`,children:`Provide phase-boundary curves to draw the diagram.`}),C&&C.curves.some(e=>e.label)&&(0,x.jsx)(`div`,{className:`phd-legend`,children:C.curves.map((e,t)=>e.label?(0,x.jsxs)(`span`,{className:`phd-leg`,children:[(0,x.jsx)(`i`,{style:{background:e.color}}),e.label]},`leg${t}`):null)}),v&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(v)})]})}var Pn=r(),Fn=360,In=40,Ln=16,Rn=Fn-In-Ln,zn={top:22,h:46},Bn=78,Vn=30,Hn=zn.top+zn.h+Vn,Un=Hn+Bn+Vn,Wn=Un+Bn+24,Gn=-12;function Kn(e,t){if(!Number.isFinite(e))return`—`;let n=Math.abs(e)>=100?Math.round(e):Math.round(e*100)/100;return t?`${n} ${t}`:`${n}`}function qn(e,t){let n=null;for(let r of e){let e=t(r);Number.isFinite(e)&&(!n||Math.abs(e)>Math.abs(n.val))&&(n={x:r.x,val:e})}return n}function Jn(e,t){let n=e>0?e:1,r=Bn/2-8,i=t+Bn/2;return{mid:i,y:e=>i-e/n*r}}function Yn({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,span:r,supports:o,loads:s,unit:l,shear:u=[],moment:p=[],caption:m,footer:h,delay:g}){let _=i[t]||i.layers,{L:v,sx:y,xTicks:S,beamY:C,maxPoint:w,vPeak:T,mPeak:E,vScale:D,mScale:O}=(0,b.useMemo)(()=>{let e=r>0?r:1,t=t=>In+Math.max(0,Math.min(e,t))/e*Rn,n=c(0,e,d(e)),i=zn.top+zn.h*.45,a=s.reduce((e,t)=>t.kind===`point`?Math.max(e,Math.abs(t.mag)):e,0),o=qn(u,e=>e.v),l=qn(p,e=>e.m),m=f(u.map(e=>e.v))??[0,0],h=f(p.map(e=>e.m))??[0,0],g=Math.max(Math.abs(m[0]),Math.abs(m[1])),_=Math.max(Math.abs(h[0]),Math.abs(h[1]));return{L:e,sx:t,xTicks:n,beamY:i,maxPoint:a,vPeak:o,mPeak:l,vScale:Jn(g,Hn),mScale:Jn(_,Un)}},[r,s,u,p]),k=e=>14+(w>0?Math.abs(e)/w*14:0),A=(e,t)=>{if(e.length===0)return``;let n=e[0],r=e[e.length-1],i=e.map(e=>`${y(e.x)},${e.y}`).join(` `);return`${y(n.x)},${t} ${i} ${y(r.x)},${t}`},j=u.map(e=>({x:e.x,y:D.y(e.v)})),M=p.map(e=>({x:e.x,y:O.y(e.m)}));return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(g||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-ld-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 ${Gn} ${Fn} ${Wn-Gn}`,className:`c2-ld-svg`,role:`img`,"aria-label":e,children:[S.map((e,t)=>(0,x.jsx)(`line`,{className:`c2-ld-guide`,x1:y(e),y1:zn.top+zn.h,x2:y(e),y2:Un+Bn},`g${t}`)),(0,x.jsx)(`line`,{className:`c2-ld-beam`,x1:y(0),y1:C,x2:y(v),y2:C}),o.map((e,t)=>(0,x.jsx)(Xn,{s:e,x:y(e.at),y:C},`s${t}`)),s.map((e,t)=>(0,x.jsx)(Zn,{load:e,sx:y,beamY:C,span:v,arrowLen:k,unit:l},`l${t}`)),(0,x.jsx)($n,{top:Hn,mid:D.mid,sx:y,L:v,label:`Shear V(x)`}),j.length>1&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`polygon`,{className:`c2-ld-vfill`,points:A(j,D.mid)}),(0,x.jsx)(`polyline`,{className:`c2-ld-vline`,points:j.map(e=>`${y(e.x)},${e.y}`).join(` `)})]}),T&&(0,x.jsx)(er,{x:y(T.x),y:D.y(T.val),mid:D.mid,label:`Vmax ${Kn(T.val,l)}`}),(0,x.jsx)($n,{top:Un,mid:O.mid,sx:y,L:v,label:`Moment M(x)`}),M.length>1&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`polygon`,{className:`c2-ld-mfill`,points:A(M,O.mid)}),(0,x.jsx)(`polyline`,{className:`c2-ld-mline`,points:M.map(e=>`${y(e.x)},${e.y}`).join(` `)})]}),E&&(0,x.jsx)(er,{x:y(E.x),y:O.y(E.val),mid:O.mid,label:`Mmax ${Kn(E.val,l?`${l}·m`:void 0)}`,accent:!0}),(0,x.jsx)(`line`,{className:`c2-ld-axis`,x1:In,y1:Un+Bn,x2:Fn-Ln,y2:Un+Bn}),S.map((e,t)=>(0,x.jsx)(`text`,{className:`c2-ld-xtick`,x:y(e),y:Un+Bn+13,textAnchor:`middle`,children:e},`xt${t}`)),(0,x.jsx)(`text`,{className:`c2-ld-axlbl`,x:Fn-Ln,y:Un+Bn+13,textAnchor:`end`,children:`position`})]})}),m&&(0,x.jsx)(`p`,{className:`c2-ld-caption`,children:m}),h&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(h)})]})}function Xn(e){let t=(0,Pn.c)(21),{s:n,x:r,y:i}=e,a=n.kind??`pin`;if(a===`fixed`){let e=r<384/2,n=r+(e?-6:6),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=[-14,-7,0,7,14],t[0]=a):a=t[0];let o;t[1]!==e||t[2]!==n||t[3]!==i?(o=a.map((t,r)=>(0,x.jsx)(`line`,{className:`c2-ld-sup`,x1:n+(e?-7:7),y1:i+t-4,x2:n,y2:i+t+4},r)),t[1]=e,t[2]=n,t[3]=i,t[4]=o):o=t[4];let s=o,c=i-16,l=i+16,u;t[5]!==c||t[6]!==l||t[7]!==n?(u=(0,x.jsx)(`line`,{className:`c2-ld-sup`,x1:n,y1:c,x2:n,y2:l}),t[5]=c,t[6]=l,t[7]=n,t[8]=u):u=t[8];let d;return t[9]!==s||t[10]!==u?(d=(0,x.jsxs)(`g`,{children:[u,s]}),t[9]=s,t[10]=u,t[11]=d):d=t[11],d}let o=`${r},${i} ${r-8},${i+14} ${r+8},${i+14}`,s;t[12]===o?s=t[13]:(s=(0,x.jsx)(`polygon`,{className:`c2-ld-sup-tri`,points:o}),t[12]=o,t[13]=s);let c;t[14]!==a||t[15]!==r||t[16]!==i?(c=a===`roller`?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{className:`c2-ld-sup-tri`,cx:r-4,cy:i+18,r:2.6}),(0,x.jsx)(`circle`,{className:`c2-ld-sup-tri`,cx:r+4,cy:i+18,r:2.6})]}):(0,x.jsx)(`line`,{className:`c2-ld-sup`,x1:r-11,y1:i+16,x2:r+11,y2:i+16}),t[14]=a,t[15]=r,t[16]=i,t[17]=c):c=t[17];let l;return t[18]!==s||t[19]!==c?(l=(0,x.jsxs)(`g`,{children:[s,c]}),t[18]=s,t[19]=c,t[20]=l):l=t[20],l}function Zn(e){let t=(0,Pn.c)(33),{load:n,sx:r,beamY:i,span:a,arrowLen:o,unit:s}=e;if(n.kind===`udl`){let e=r(Math.max(0,Math.min(n.at,n.to??n.at))),o=r(Math.min(a,Math.max(n.at,n.to??n.at))),s=i-16-4,c;t[0]!==e||t[1]!==o?(c=Math.round((o-e)/16),t[0]=e,t[1]=o,t[2]=c):c=t[2];let l=Math.max(2,Math.min(9,c)),u;t[3]!==i||t[4]!==l||t[5]!==s||t[6]!==e||t[7]!==o?(u=Array.from({length:l+1},(t,n)=>(0,x.jsx)(Qn,{x:e+(o-e)*n/l,y0:s+4,y1:i-2},n)),t[3]=i,t[4]=l,t[5]=s,t[6]=e,t[7]=o,t[8]=u):u=t[8];let d=u,f;t[9]!==s||t[10]!==e||t[11]!==o?(f=(0,x.jsx)(`line`,{className:`c2-ld-udl-rail`,x1:e,y1:s,x2:o,y2:s}),t[9]=s,t[10]=e,t[11]=o,t[12]=f):f=t[12];let p;t[13]!==n.label||t[14]!==s||t[15]!==e||t[16]!==o?(p=n.label&&(0,x.jsx)(`text`,{className:`c2-ld-load-lbl`,x:(e+o)/2,y:s-4,textAnchor:`middle`,children:n.label}),t[13]=n.label,t[14]=s,t[15]=e,t[16]=o,t[17]=p):p=t[17];let m;return t[18]!==d||t[19]!==f||t[20]!==p?(m=(0,x.jsxs)(`g`,{children:[f,d,p]}),t[18]=d,t[19]=f,t[20]=p,t[21]=m):m=t[21],m}let c=r(n.at),l=i-o(n.mag)-6,u=i-2,d;t[22]!==u||t[23]!==l||t[24]!==c?(d=(0,x.jsx)(Qn,{x:c,y0:l,y1:u,bold:!0}),t[22]=u,t[23]=l,t[24]=c,t[25]=d):d=t[25];let f=l-4,p=n.label??(s?`${n.mag} ${s}`:`${n.mag}`),m;t[26]!==f||t[27]!==p||t[28]!==c?(m=(0,x.jsx)(`text`,{className:`c2-ld-load-lbl`,x:c,y:f,textAnchor:`middle`,children:p}),t[26]=f,t[27]=p,t[28]=c,t[29]=m):m=t[29];let h;return t[30]!==d||t[31]!==m?(h=(0,x.jsxs)(`g`,{children:[d,m]}),t[30]=d,t[31]=m,t[32]=h):h=t[32],h}function Qn(e){let t=(0,Pn.c)(10),{x:n,y0:r,y1:i,bold:a}=e,o=a?`c2-ld-arrow c2-ld-arrow--bold`:`c2-ld-arrow`,s;t[0]!==n||t[1]!==r||t[2]!==i?(s=(0,x.jsx)(`line`,{x1:n,y1:r,x2:n,y2:i}),t[0]=n,t[1]=r,t[2]=i,t[3]=s):s=t[3];let c=`M ${n-3} ${i-4} L ${n} ${i} L ${n+3} ${i-4}`,l;t[4]===c?l=t[5]:(l=(0,x.jsx)(`path`,{d:c}),t[4]=c,t[5]=l);let u;return t[6]!==o||t[7]!==s||t[8]!==l?(u=(0,x.jsxs)(`g`,{className:o,children:[s,l]}),t[6]=o,t[7]=s,t[8]=l,t[9]=u):u=t[9],u}function $n(e){let t=(0,Pn.c)(18),{top:n,mid:r,sx:i,L:a,label:o}=e,s;t[0]===n?s=t[1]:(s=(0,x.jsx)(`rect`,{className:`c2-ld-panel`,x:In,y:n,width:Rn,height:Bn}),t[0]=n,t[1]=s);let c;t[2]===i?c=t[3]:(c=i(0),t[2]=i,t[3]=c);let l;t[4]!==a||t[5]!==i?(l=i(a),t[4]=a,t[5]=i,t[6]=l):l=t[6];let u;t[7]!==r||t[8]!==c||t[9]!==l?(u=(0,x.jsx)(`line`,{className:`c2-ld-baseline`,x1:c,y1:r,x2:l,y2:r}),t[7]=r,t[8]=c,t[9]=l,t[10]=u):u=t[10];let d=n-6,f;t[11]!==o||t[12]!==d?(f=(0,x.jsx)(`text`,{className:`c2-ld-panel-lbl`,x:In,y:d,children:o}),t[11]=o,t[12]=d,t[13]=f):f=t[13];let p;return t[14]!==s||t[15]!==u||t[16]!==f?(p=(0,x.jsxs)(`g`,{children:[s,u,f]}),t[14]=s,t[15]=u,t[16]=f,t[17]=p):p=t[17],p}function er(e){let t=(0,Pn.c)(16),{x:n,y:r,mid:i,label:a,accent:o}=e,s=r<=i?r-7:r+13,c=o?`c2-ld-peak c2-ld-peak--accent`:`c2-ld-peak`,l;t[0]!==i||t[1]!==n||t[2]!==r?(l=(0,x.jsx)(`line`,{className:`c2-ld-peak-stem`,x1:n,y1:i,x2:n,y2:r}),t[0]=i,t[1]=n,t[2]=r,t[3]=l):l=t[3];let u;t[4]!==n||t[5]!==r?(u=(0,x.jsx)(`circle`,{cx:n,cy:r,r:3,"data-mark":`point`}),t[4]=n,t[5]=r,t[6]=u):u=t[6];let d;t[7]!==a||t[8]!==s||t[9]!==n?(d=(0,x.jsx)(`text`,{className:`c2-ld-peak-lbl`,x:n,y:s,textAnchor:`middle`,children:a}),t[7]=a,t[8]=s,t[9]=n,t[10]=d):d=t[10];let f;return t[11]!==c||t[12]!==l||t[13]!==u||t[14]!==d?(f=(0,x.jsxs)(`g`,{className:c,children:[l,u,d]}),t[11]=c,t[12]=l,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}var tr=480,nr=220,rr=8,ir=26,ar=30;function or(e){let t=(t,n,r)=>{let i=(e-t)/n;return r*Math.exp(-i*i)};return t(.18,.035,.22)+t(.39,.012,-.32)+t(.42,.012,1.95)+t(.45,.012,-.55)+t(.66,.06,.42)}function sr({title:e,icon:t=`spark`,iconColor:n=`var(--danger)`,samples:r,rateBpm:o=72,rhythm:s,intervals:c=[],abnormalities:l=[],gridMs:u=40,caption:d,footer:f,delay:p}){let m=i[t]||i.spark,{small:h,cols:g,rows:_,totalMs:v,baselineY:y,tx:S,path:C}=(0,b.useMemo)(()=>{let e=tr-rr*2,t=nr-ir-ar,n=Math.floor(e/12),i=Math.floor(t/12),a=n*u,s=e=>rr+e/(a||1)*(n*12),c=e=>146-e*30,l=[];if(r&&r.length)for(let e=0;e<r.length;e++){let t=e*u;if(t>a)break;l.push([s(t),c(r[e])])}else{let e=6e4/Math.max(20,Math.min(300,o)),t=u/2;for(let n=0;n<=a;n+=t){let t=n%e/e;l.push([s(n),c(or(t))])}}return{plotW:e,plotH:t,small:12,cols:n,rows:i,totalMs:a,baselineY:146,tx:s,ty:c,path:l.map((e,t)=>`${t?`L`:`M`}${e[0].toFixed(1)} ${e[1].toFixed(1)}`).join(` `)}},[r,o,u]),w=rr+g*h,T=ir+_*h;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-ecg-read`,children:[Number.isFinite(o)&&(0,x.jsxs)(`span`,{className:`c2-ecg-rate tab-num`,children:[(0,x.jsx)(`b`,{children:Math.round(o)}),` bpm`]}),s&&(0,x.jsx)(`span`,{className:`c2-ecg-rhythm`,children:s}),(0,x.jsxs)(`span`,{className:`c2-ecg-scale tab-num`,children:[u,` ms/sq`]})]}),(0,x.jsx)(`div`,{className:`c2-ecg-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${tr} ${nr}`,className:`c2-ecg-svg`,role:`img`,"aria-label":e||`ECG strip`,children:[Array.from({length:g+1},(e,t)=>{let n=rr+t*h;return(0,x.jsx)(`line`,{x1:n,y1:ir,x2:n,y2:T,className:t%5==0?`c2-ecg-grid c2-ecg-grid--major`:`c2-ecg-grid`},`vx${t}`)}),Array.from({length:_+1},(e,t)=>{let n=ir+t*h;return(0,x.jsx)(`line`,{x1:rr,y1:n,x2:w,y2:n,className:t%5==0?`c2-ecg-grid c2-ecg-grid--major`:`c2-ecg-grid`},`hz${t}`)}),(0,x.jsx)(`path`,{d:C,className:`c2-ecg-trace`}),c.map((e,t)=>{let n=S(Math.max(0,e.fromMs)),r=S(Math.min(v,e.toMs)),i=Math.max(3,Math.ceil(c.length/2)),a=T+6+t%i*11,o=(n+r)/2;return(0,x.jsxs)(`g`,{className:`c2-ecg-iv`,children:[(0,x.jsx)(`line`,{x1:n,y1:a,x2:r,y2:a,className:`c2-ecg-iv-bar`}),(0,x.jsx)(`line`,{x1:n,y1:a-3,x2:n,y2:a+3,className:`c2-ecg-iv-cap`}),(0,x.jsx)(`line`,{x1:r,y1:a-3,x2:r,y2:a+3,className:`c2-ecg-iv-cap`}),(0,x.jsxs)(`text`,{x:o,y:a-3,className:`c2-ecg-iv-lbl`,textAnchor:`middle`,children:[e.label,` `,Math.round(e.toMs-e.fromMs),` ms`]})]},`iv${t}`)}),l.map((e,t)=>{let n=S(Math.max(0,Math.min(v,e.atMs)));return(0,x.jsxs)(`g`,{className:`c2-ecg-pin`,children:[(0,x.jsx)(`line`,{x1:n,y1:ir,x2:n,y2:y,className:`c2-ecg-pin-stem`}),(0,x.jsx)(`circle`,{cx:n,cy:ir-2,r:3,className:`c2-ecg-pin-dot`}),(0,x.jsx)(`text`,{x:n,y:ir-8,className:`c2-ecg-pin-lbl`,textAnchor:n>w-Math.max(60,e.label.length*9)?`end`:`middle`,children:e.label})]},`ab${t}`)})]})}),d&&(0,x.jsx)(`p`,{className:`c2-ecg-caption`,children:d}),f&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}var cr=160,lr=38;function ur(e){let t=(0,Pn.c)(35),{ch:n,accent:r}=e,i=n.series,a;t[0]!==n.normal||t[1]!==i?(a=f([...i,...n.normal??[]])??[0,1],t[0]=n.normal,t[1]=i,t[2]=a):a=t[2];let o=a,s=(o[1]-o[0])*.12||1,c=o[0]-s,l=o[1]+s-c||1,u;t[3]===i.length?u=t[4]:(u=e=>i.length<=1?cr/2:e/(i.length-1)*(cr-4)+2,t[3]=i.length,t[4]=u);let d=u,p;t[5]!==c||t[6]!==l?(p=e=>3+(1-(e-c)/l)*(lr-6),t[5]=c,t[6]=l,t[7]=p):p=t[7];let m=p,h;t[8]!==n.normal||t[9]!==m?(h=n.normal?{y:m(n.normal[1]),h:Math.max(0,m(n.normal[0])-m(n.normal[1]))}:null,t[8]=n.normal,t[9]=m,t[10]=h):h=t[10];let g=h,_;if(t[11]!==d||t[12]!==m||t[13]!==i){let e;t[15]!==d||t[16]!==m?(e=(e,t)=>`${t?`L`:`M`}${d(t).toFixed(1)} ${m(e).toFixed(1)}`,t[15]=d,t[16]=m,t[17]=e):e=t[17],_=i.map(e).join(` `),t[11]=d,t[12]=m,t[13]=i,t[14]=_}else _=t[14];let v=_,y=i.length?i[i.length-1]:null,b;t[18]!==r||t[19]!==g?(b=g&&(0,x.jsx)(`rect`,{x:0,y:g.y,width:cr,height:g.h,className:`c2-vs-band`,style:{fill:`color-mix(in oklab, ${r} 14%, transparent)`}}),t[18]=r,t[19]=g,t[20]=b):b=t[20];let S;t[21]!==r||t[22]!==v||t[23]!==i.length?(S=i.length>0&&(0,x.jsx)(`path`,{d:v,fill:`none`,className:`c2-vs-line`,style:{stroke:r}}),t[21]=r,t[22]=v,t[23]=i.length,t[24]=S):S=t[24];let C;t[25]!==r||t[26]!==y||t[27]!==d||t[28]!==m||t[29]!==i.length?(C=y!=null&&(0,x.jsx)(`circle`,{cx:d(i.length-1),cy:m(y),r:2.2,style:{fill:r}}),t[25]=r,t[26]=y,t[27]=d,t[28]=m,t[29]=i.length,t[30]=C):C=t[30];let w;return t[31]!==b||t[32]!==S||t[33]!==C?(w=(0,x.jsxs)(`svg`,{className:`c2-vs-svg`,viewBox:`0 0 ${cr} ${lr}`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[b,S,C]}),t[31]=b,t[32]=S,t[33]=C,t[34]=w):w=t[34],w}function dr({title:e,icon:t=`alert`,iconColor:n=`var(--presence)`,channels:r,windowLabel:o,caption:c,footer:l,delay:u}){let d=i[t]||i.alert,[f,p]=(0,b.useState)(null);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e,o&&(0,x.jsx)(`span`,{className:`c2-vs-window`,children:o})]}),(0,x.jsx)(`div`,{className:`c2-vs`,onMouseLeave:()=>p(null),children:r.map((e,t)=>{let n=e.color||`var(--presence)`,r=e.current??(e.series.length?e.series[e.series.length-1]:null),i=r!=null&&e.normal?r<e.normal[0]||r>e.normal[1]:!1;return(0,x.jsxs)(`div`,{className:`c2-vs-row`+(f===t?` on`:``)+(i?` alarm`:``),onMouseEnter:()=>p(t),children:[(0,x.jsxs)(`div`,{className:`c2-vs-meta`,children:[(0,x.jsx)(`span`,{className:`c2-vs-label`,children:e.label}),e.normal&&(0,x.jsxs)(`span`,{className:`c2-vs-norm tab-num`,children:[s(e.normal[0]),`–`,s(e.normal[1]),e.unit?` `+e.unit:``]})]}),(0,x.jsx)(`div`,{className:`c2-vs-plot`,children:(0,x.jsx)(ur,{ch:e,accent:n})}),(0,x.jsxs)(`div`,{className:`c2-vs-now`,children:[(0,x.jsx)(`span`,{className:`c2-vs-val tab-num`,style:{color:i?`var(--danger)`:n},children:r==null?`—`:s(r)}),e.unit&&(0,x.jsx)(`span`,{className:`c2-vs-unit`,children:e.unit}),i&&(0,x.jsx)(`span`,{className:`c2-vs-flag`,children:`!`})]})]},t)})}),c&&(0,x.jsx)(`p`,{className:`c2-vs-caption`,children:c}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var fr=340,pr=248,mr=40,hr=30,gr=14,_r=40,vr={weight:`Weight`,height:`Length / height`,head:`Head circumference`};function yr(e,t){let n=e.points;if(n.length===0)return null;if(t<=n[0].age)return n[0].value;if(t>=n[n.length-1].age)return n[n.length-1].value;for(let e=1;e<n.length;e++){let r=n[e-1],i=n[e];if(t<=i.age){let e=i.age===r.age?0:(t-r.age)/(i.age-r.age);return r.value+e*(i.value-r.value)}}return n[n.length-1].value}function br({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,metric:r,unit:o=``,ageUnit:l=`months`,percentiles:u,plotted:p,caption:m,footer:h,delay:g}){let _=i[t]||i.spark,v=e=>s(e,{unit:o||void 0,decimals:e%1?1:0}),{curves:y,sx:S,sy:C,tracked:w,ageTicks:T,valTicks:E}=(0,b.useMemo)(()=>{let e=[...u].sort((e,t)=>e.p-t.p).filter(e=>e.points.length>0),t=e.flatMap(e=>e.points.map(e=>e.age)).concat(p.map(e=>e.age)),n=e.flatMap(e=>e.points.map(e=>e.value)).concat(p.map(e=>e.value)),r=f(t)??[0,12],i=f(n)??[0,1],a=Math.min(r[0],0),o=r[1]||1,s=(i[1]-i[0])*.06||1,l=Math.max(0,i[0]-s),m=i[1]+s;return{curves:e,aLo:a,aHi:o,sx:e=>mr+(e-a)/(o-a||1)*(fr-mr-hr),sy:e=>pr-_r-(e-l)/(m-l||1)*(pr-gr-_r),tracked:p.map(t=>{let n=null;for(let r of e){let e=yr(r,t.age);if(e==null)continue;let i=Math.abs(e-t.value);(!n||i<n.d)&&(n={p:r.p,d:i})}return{...t,p:n?.p??null}}),ageTicks:c(a,o,d(o-a)),valTicks:c(l,m,d(m-l))}},[u,p]),D=w.reduce((e,t,n)=>t.age>=w[e].age?n:e,0),O=w[D],k=y.reduce((e,t,n)=>Math.abs(t.p-50)<Math.abs(y[e].p-50)?n:e,0);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(g||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-gc-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${fr} ${pr}`,className:`c2-gc-svg`,role:`img`,"aria-label":e||`Growth chart`,children:[T.map(e=>(0,x.jsx)(`line`,{x1:S(e),y1:gr,x2:S(e),y2:pr-_r,className:`c2-gc-grid`},`ga${e}`)),E.map(e=>(0,x.jsx)(`line`,{x1:mr,y1:C(e),x2:fr-hr,y2:C(e),className:`c2-gc-grid`},`gv${e}`)),y.length>=2&&(()=>{let e=y[0];return(0,x.jsx)(`polygon`,{points:`${y[y.length-1].points.map(e=>`${S(e.age)},${C(e.value)}`).join(` `)} ${e.points.map(e=>`${S(e.age)},${C(e.value)}`).reverse().join(` `)}`,className:`c2-gc-band`})})(),y.map((e,t)=>{let n=t===k,r=e.points.map(e=>`${S(e.age)},${C(e.value)}`).join(` `),i=e.points[e.points.length-1];return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`polyline`,{points:r,className:`c2-gc-pcurve`+(n?` c2-gc-pcurve--median`:``)}),i&&(0,x.jsx)(`text`,{x:S(i.age)+3,y:C(i.value)+3,className:`c2-gc-plabel`,children:`p`+e.p})]},e.p)}),(0,x.jsx)(`line`,{x1:mr,y1:pr-_r,x2:fr-hr,y2:pr-_r,className:`c2-gc-axis`}),(0,x.jsx)(`line`,{x1:mr,y1:gr,x2:mr,y2:pr-_r,className:`c2-gc-axis`}),E.map(e=>(0,x.jsx)(`text`,{x:mr-5,y:C(e)+3,className:`c2-gc-tick`,textAnchor:`end`,children:s(e)},`vt${e}`)),T.map(e=>(0,x.jsx)(`text`,{x:S(e),y:221,className:`c2-gc-tick`,textAnchor:`middle`,children:s(e)},`at${e}`)),w.length>1&&(0,x.jsx)(`polyline`,{points:w.map(e=>`${S(e.age)},${C(e.value)}`).join(` `),className:`c2-gc-track`}),w.map((e,t)=>(0,x.jsx)(`circle`,{cx:S(e.age),cy:C(e.value),r:t===D?4:3,className:`c2-gc-pt`+(t===D?` c2-gc-pt--latest`:``),"data-mark":t===D?`point`:void 0},t)),(0,x.jsxs)(`text`,{x:175,y:pr-6,className:`c2-gc-axlbl`,textAnchor:`middle`,children:[`Age (`,l,`)`]}),(0,x.jsxs)(`text`,{x:43,y:gr,className:`c2-gc-axlbl`,textAnchor:`start`,children:[vr[r],o?` (${o})`:``]})]})}),O&&(0,x.jsxs)(`div`,{className:`c2-gc-readout`,children:[(0,x.jsxs)(`div`,{className:`c2-gc-ro`,children:[(0,x.jsx)(`span`,{className:`c2-gc-ro-k`,children:`Latest`}),(0,x.jsxs)(`span`,{className:`c2-gc-ro-v`,children:[v(O.value),` `,(0,x.jsxs)(`span`,{className:`c2-gc-ro-u`,children:[`at `,s(O.age),` `,l]})]})]}),O.p!=null&&(0,x.jsxs)(`div`,{className:`c2-gc-ro`,children:[(0,x.jsx)(`span`,{className:`c2-gc-ro-k`,children:`Tracking`}),(0,x.jsxs)(`span`,{className:`c2-gc-ro-v`,style:{color:`var(--presence)`},children:[`~`,O.p,`th percentile`]})]})]}),m&&(0,x.jsx)(`div`,{className:`c2-gc-caption`,children:m}),h&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(h)})]})}var xr=340,Sr=200,Cr=50,wr=12,Tr=12,Er=30,Dr=[{stage:`awake`,label:`Awake`},{stage:`rem`,label:`REM`},{stage:`light`,label:`Light`},{stage:`deep`,label:`Deep`}],Or={awake:0,rem:1,light:2,deep:3};function kr(e){let t=Math.round(e),n=Math.floor(t/60),r=t%60;return n>0?`${n}h${r?` ${r}m`:``}`:`${r}m`}function Ar({title:e,icon:t=`moon`,iconColor:n=`var(--presence)`,stages:r,bedtime:o,wake:s,cycles:c,caption:l,footer:u,delay:d}){let f=i[t]||i.moon,{spans:p,sx:m,laneH:h,stepPts:g,totals:_,remBouts:v,hourTicks:y}=(0,b.useMemo)(()=>{let e=[...r].filter(e=>e.toMin>e.fromMin).sort((e,t)=>e.fromMin-t.fromMin),t=e.length?e[0].fromMin:0,n=e.length?e[e.length-1].toMin:1,i=n-t||1,a=e=>Cr+(e-t)/i*(xr-Cr-wr),o=(Sr-Tr-Er)/Dr.length,s=e=>Tr+(Or[e]+.5)*o,c=[];e.forEach(e=>{let t=s(e.stage);c.push([a(e.fromMin),t]),c.push([a(e.toMin),t])});let l={awake:0,rem:0,light:0,deep:0};e.forEach(e=>{l[e.stage]+=e.toMin-e.fromMin});let u=e.filter(e=>e.stage===`rem`).length,d=[];for(let e=Math.ceil(t/60)*60;e<=n;e+=60)d.push(e);return{spans:e,t0:t,t1:n,total:i,sx:a,sy:s,laneH:o,stepPts:c,totals:l,remBouts:u,hourTicks:d}},[r]),S=c??v,C=_.rem+_.light+_.deep;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-sc-stats`,children:[(0,x.jsxs)(`div`,{className:`c2-sc-stat`,children:[(0,x.jsx)(`span`,{className:`c2-sc-stat-v`,children:kr(C)}),(0,x.jsx)(`span`,{className:`c2-sc-stat-k`,children:`asleep`})]}),(0,x.jsxs)(`div`,{className:`c2-sc-stat`,children:[(0,x.jsx)(`span`,{className:`c2-sc-stat-v`,children:S}),(0,x.jsx)(`span`,{className:`c2-sc-stat-k`,children:S===1?`cycle`:`cycles`})]})]}),(0,x.jsx)(`div`,{className:`c2-sc-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${xr} ${Sr}`,className:`c2-sc-svg`,role:`img`,"aria-label":e||`Hypnogram`,children:[Dr.map((e,t)=>{let n=Tr+t*h;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:Cr,y:n,width:xr-Cr-wr,height:h,className:`c2-sc-lane`+(e.stage===`rem`?` c2-sc-lane--rem`:``)}),(0,x.jsx)(`text`,{x:Cr-6,y:n+h/2+3,className:`c2-sc-lane-lbl`,textAnchor:`end`,children:e.label})]},e.stage)}),y.map(e=>(0,x.jsx)(`line`,{x1:m(e),y1:Tr,x2:m(e),y2:Sr-Er,className:`c2-sc-grid`},`h${e}`)),p.filter(e=>e.stage===`rem`).map((e,t)=>(0,x.jsx)(`rect`,{x:m(e.fromMin),y:Tr+Or.rem*h+2,width:Math.max(m(e.toMin)-m(e.fromMin),.5),height:h-4,className:`c2-sc-rem`,rx:`2`},`rem${t}`)),(0,x.jsx)(`polyline`,{points:g.map(e=>`${e[0]},${e[1]}`).join(` `),className:`c2-sc-line`}),(0,x.jsx)(`line`,{x1:Cr,y1:Tr,x2:Cr,y2:Sr-Er,className:`c2-sc-edge`}),(0,x.jsx)(`line`,{x1:xr-wr,y1:Tr,x2:xr-wr,y2:Sr-Er,className:`c2-sc-edge`}),(0,x.jsx)(`line`,{x1:Cr,y1:Sr-Er,x2:xr-wr,y2:Sr-Er,className:`c2-sc-axis`}),o&&(0,x.jsx)(`text`,{x:Cr,y:184,className:`c2-sc-clock`,textAnchor:`start`,children:o}),s&&(0,x.jsx)(`text`,{x:xr-wr,y:184,className:`c2-sc-clock`,textAnchor:`end`,children:s})]})}),(0,x.jsx)(`div`,{className:`c2-sc-legend`,children:Dr.map(e=>(0,x.jsxs)(`span`,{className:`c2-sc-leg`+(e.stage===`rem`?` c2-sc-leg--rem`:``),children:[(0,x.jsx)(`i`,{className:`c2-sc-sw c2-sc-sw--`+e.stage}),e.label,(0,x.jsx)(`b`,{className:`tab-num`,children:kr(_[e.stage])})]},e.stage))}),l&&(0,x.jsx)(`div`,{className:`c2-sc-caption`,children:l}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}var jr=320,Mr=86,Nr=12,Pr=18,Fr=-6,Ir=30,Lr=15,Rr=4,zr=[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],Br=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Vr=[{kind:`peak`,label:`Peak`,accent:`var(--presence)`},{kind:`available`,label:`In season`,accent:`var(--insight)`},{kind:`planting`,label:`Planting`,accent:`var(--warning)`},{kind:`harvest`,label:`Harvest`,accent:`var(--presence)`},{kind:`bloom`,label:`Bloom`,accent:`var(--danger)`}],Hr={peak:`var(--presence)`,available:`var(--insight)`,planting:`var(--warning)`,harvest:`var(--presence)`,bloom:`var(--danger)`};function Ur(e,t){let n=Math.max(1,Math.min(12,Math.round(e))),r=Math.max(n,Math.min(12,Math.round(t)));return{f0:(n-1)/12,f1:r/12}}var Wr=Math.max(3,Math.floor((Mr-8)/(10*.58)));function Gr(e){return e.length>Wr?`${e.slice(0,Wr-1)}…`:e}function Kr({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,rows:r,nowMonth:o,caption:s,footer:c,delay:l}){let u=i[t]||i.clock,[d,f]=(0,b.useState)(null),{sx:p,monthTicks:m,kindsPresent:h,H:g}=(0,b.useMemo)(()=>{let e=Mr,t=jr-Nr,n=n=>e+n*(t-e),i=new Set;for(let e of r)for(let t of e.windows)i.add(t.kind??`available`);return{sx:n,monthTicks:zr,kindsPresent:Vr.filter(e=>i.has(e.kind)),H:Pr+r.length*Ir+Rr}},[r]),_=e=>Pr+e*Ir+(Ir-Rr)/2,v=o==null?null:p((Math.max(1,Math.min(12,o))-.5)/12);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-sb-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 ${Fr} ${jr} ${g-Fr}`,className:`c2-sb-svg`,role:`img`,"aria-label":e,children:[(0,x.jsxs)(`g`,{className:`c2-sb-grid`,children:[m.map((e,t)=>(0,x.jsx)(`line`,{x1:p(t/12),y1:Pr-6,x2:p(t/12),y2:g-Rr},`g${t}`)),(0,x.jsx)(`line`,{x1:p(1),y1:Pr-6,x2:p(1),y2:g-Rr})]}),m.map((e,t)=>(0,x.jsx)(`text`,{x:p((t+.5)/12),y:Pr-9,className:`c2-sb-month`,textAnchor:`middle`,children:e},`t${t}`)),v!=null&&(0,x.jsxs)(`g`,{className:`c2-sb-now`,children:[(0,x.jsx)(`line`,{x1:v,y1:Pr-4,x2:v,y2:g-Rr}),(0,x.jsx)(`circle`,{cx:v,cy:Pr-4,r:2.6})]}),r.map((e,t)=>{let n=_(t);return(0,x.jsxs)(`g`,{children:[(0,x.jsxs)(`text`,{x:Mr-8,y:n+3,className:`c2-sb-row-lbl`,textAnchor:`end`,children:[e.label.length>Wr&&(0,x.jsx)(`title`,{children:e.label}),Gr(e.label)]}),e.windows.map((r,i)=>{let a=r.kind??`available`,{f0:o,f1:s}=Ur(r.from,r.to),c=p(o),l=Math.max(p(s)-c,2),u=Hr[a],m=`${t}-${i}`,h=d===m,g=a===`peak`||a===`harvest`;return(0,x.jsxs)(`g`,{onMouseEnter:()=>f(m),onMouseLeave:()=>f(e=>e===m?null:e),children:[(0,x.jsx)(`rect`,{x:c,y:n-Lr/2,width:l,height:Lr,rx:4,fill:`color-mix(in oklab, ${u} ${g?h?90:78:h?46:30}%, transparent)`,stroke:u,strokeWidth:h?1.4:1,className:`c2-sb-band`}),(0,x.jsxs)(`title`,{children:[e.label,` · `,Vr.find(e=>e.kind===a)?.label??a,`:`,` `,Br[Math.max(1,Math.min(12,Math.round(r.from)))-1],`–`,Br[Math.max(1,Math.min(12,Math.round(r.to)))-1]]})]},m)})]},`r${t}`)})]})}),h.length>0&&(0,x.jsxs)(`div`,{className:`c2-sb-legend`,children:[h.map(e=>(0,x.jsxs)(`span`,{className:`c2-sb-leg`,children:[(0,x.jsx)(`i`,{style:{background:e.accent}}),e.label]},e.kind)),v!=null&&(0,x.jsxs)(`span`,{className:`c2-sb-leg c2-sb-leg--now`,children:[(0,x.jsx)(`i`,{}),`Now`]})]}),r.some(e=>e.note)&&(0,x.jsx)(`div`,{className:`c2-sb-notes`,children:r.filter(e=>e.note).map((e,t)=>(0,x.jsxs)(`div`,{className:`c2-sb-note`,children:[(0,x.jsx)(`b`,{children:e.label}),` `,e.note]},t))}),s&&(0,x.jsx)(`div`,{className:`c2-sb-caption`,children:s}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var qr=320,q=248,J={l:48,r:18,t:16,b:38},Jr=4.6;function Yr(e){return e.length*Jr}function Xr(e,t,n){return n===`end`?Math.max(J.l+t,Math.min(qr-J.r,e)):Math.min(qr-J.r-t,Math.max(J.l,e))}function Zr(e){let t=[0,-39.69683028665376,220.9460984245205,-275.9285104469687,138.357751867269,-30.66479806614716,2.506628277459239],n=[0,-54.47609879822406,161.5858368580409,-155.6989798598866,66.80131188771972,-13.28068155288572],r=[-.007784894002430293,-.3223964580411365,-2.400758277161838,-2.549732539343734,4.374664141464968,2.938163982698783],i=[.007784695709041462,.3224671290700398,2.445134137142996,3.754408661907416];if(e<=0)return-1/0;if(e>=1)return 1/0;if(e<.02425){let t=Math.sqrt(-2*Math.log(e));return(((((r[0]*t+r[1])*t+r[2])*t+r[3])*t+r[4])*t+r[5])/(((i[0]*t+i[1])*t+i[2])*t+i[3]+1)}if(e<=.97575){let r=e-.5,i=r*r;return(((((t[1]*i+t[2])*i+t[3])*i+t[4])*i+t[5])*i+t[6])*r/(((((n[1]*i+n[2])*i+n[3])*i+n[4])*i+n[5])*i+1)}let a=Math.sqrt(-2*Math.log(1-e));return-(((((r[0]*a+r[1])*a+r[2])*a+r[3])*a+r[4])*a+r[5])/(((i[0]*a+i[1])*a+i[2])*a+i[3]+1)}function Qr({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,values:r,distribution:o=`normal`,xlabel:c=`Theoretical Quantiles`,ylabel:d=`Sample Quantiles`,footer:p,delay:m}){let h=i[t]||i.chart,g=(0,b.useId)(),_=(0,b.useMemo)(()=>{let e=(r??[]).filter(Number.isFinite);if(e.length<2)return null;let t=[...e].sort((e,t)=>e-t),n=t.length,i=t.map((e,t)=>({theoretical:Zr((t+.5)/n),sample:e})).filter(e=>Number.isFinite(e.theoretical));if(i.length<2)return null;let a=Zr(.25),o=Zr(.75),s=t[Math.floor(n*.25)],c=(t[Math.floor(n*.75)]-s)/(o-a),d=s-c*a,p=f(i.map(e=>e.theoretical)),m=f(i.map(e=>e.sample)),[h,g]=u(p[0],p[1]),[_,v]=u(m[0],m[1]),y=l([h,g],[J.l,qr-J.r]),b=l([_,v],[q-J.b,J.t]),x=v-_,S=Math.max(1,Math.floor(n*.1)),C=.5*x,w=e=>e.reduce((e,t)=>e+(t.sample-(d+c*t.theoretical)),0)/e.length,T=w(i.slice(-S)),E=w(i.slice(0,S)),D=null,O=qr-J.r-3,k=J.t+10,A=`end`;if(x>0&&Math.abs(T)>C&&Math.abs(E)>C&&T>0&&E<0){D=`Heavy tails`;let e=i[i.length-1];A=`end`,O=Xr(y(e.theoretical),Yr(D),A),k=Math.max(J.t+10,b(e.sample)-7)}else if(x>0&&Math.abs(T)>C&&T>0){D=`Right skew`;let e=i[i.length-1];A=`end`,O=Xr(y(e.theoretical),Yr(D),A),k=Math.max(J.t+10,b(e.sample)-7)}else if(x>0&&Math.abs(E)>C&&E<0){D=`Left skew`;let e=i[0];A=`start`,O=Xr(y(e.theoretical),Yr(D),A),k=Math.min(q-J.b-5,b(e.sample)+13)}return{pts:i,sx:y,sy:b,xTicks:y.ticks(5),yTicks:b.ticks(5),xLo:h,xHi:g,yLo:_,yHi:v,slope:c,intercept:d,yRange:x,annotation:D,annotX:O,annotY:k,annotAnchor:A}},[r]);if(!_)return(0,x.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(m||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(h,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{style:{color:`var(--text-muted)`,fontSize:13,padding:`12px 0`},children:`At least 2 values required.`})]});let{pts:v,sx:y,sy:S,xTicks:C,yTicks:w,xLo:T,xHi:E,yLo:D,yHi:O,slope:k,intercept:A,yRange:j,annotation:M,annotX:N,annotY:P,annotAnchor:F}=_,I=J.l+(qr-J.l-J.r)/2,L=J.t+(q-J.t-J.b)/2;return(0,x.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(m||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(h,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`svg`,{viewBox:`0 0 ${qr} ${q}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e??`Q-Q plot`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`clipPath`,{id:g,children:(0,x.jsx)(`rect`,{x:J.l,y:J.t,width:qr-J.l-J.r,height:q-J.t-J.b})})}),C.map((e,t)=>(0,x.jsx)(`line`,{x1:y(e),y1:J.t,x2:y(e),y2:q-J.b,className:`cx-grid-l`},`gx${t}`)),w.map((e,t)=>(0,x.jsx)(`line`,{x1:J.l,y1:S(e),x2:qr-J.r,y2:S(e),className:`cx-grid-l`},`gy${t}`)),(0,x.jsx)(`line`,{x1:J.l,y1:q-J.b,x2:qr-J.r,y2:q-J.b,className:`cx-axis-l`}),(0,x.jsx)(`line`,{x1:J.l,y1:J.t,x2:J.l,y2:q-J.b,className:`cx-axis-l`}),(0,x.jsx)(`line`,{x1:y(T),y1:S(Math.max(D,Math.min(O,A+k*T))),x2:y(E),y2:S(Math.max(D,Math.min(O,A+k*E))),stroke:`var(--text-muted)`,strokeWidth:1,strokeDasharray:`4 3`,clipPath:`url(#${g})`}),(0,x.jsx)(`g`,{clipPath:`url(#${g})`,children:v.map((e,t)=>{let n=A+k*e.theoretical,r=(j>0?Math.abs(e.sample-n)/j:0)<.05?`var(--surface-elevated)`:`var(--presence)`;return(0,x.jsx)(`circle`,{cx:y(e.theoretical),cy:S(e.sample),r:2.5,fill:r,opacity:.8,stroke:`var(--presence)`,strokeWidth:.7},t)})}),C.map((e,t)=>(0,x.jsx)(`text`,{x:y(e),y:q-J.b+12,className:`cx-tick`,textAnchor:`middle`,children:s(e)},`xt${t}`)),w.map((e,t)=>(0,x.jsx)(`text`,{x:J.l-4,y:S(e)+3.5,className:`cx-tick`,textAnchor:`end`,children:s(e)},`yt${t}`)),(0,x.jsx)(`text`,{x:I,y:q-4,className:`cx-axlbl`,textAnchor:`middle`,children:c}),(0,x.jsx)(`text`,{x:0,y:0,className:`cx-axlbl`,textAnchor:`middle`,transform:`translate(11, ${L}) rotate(-90)`,children:d}),M&&(0,x.jsx)(`text`,{x:N,y:P,fill:`var(--text-muted)`,fontSize:9,fontStyle:`italic`,textAnchor:F,children:M})]}),p&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(p)})]})}var $r=320,ei=248,Y={l:44,r:20,t:16,b:38};function ti(e){let t=Math.max(0,Math.min(1,e));return`hsl(${Math.round(220-t*220)},72%,${Math.round(50+t*10)}%)`}function ni(e){if(!Number.isFinite(e))return``;let t=Math.abs(e);return t===0?`0`:t>=1e3?e.toExponential(1):t>=10?e.toFixed(1):e.toFixed(2)}function ri({title:e,icon:t,iconColor:n=`var(--presence)`,grid:r,zRange:o,mode:s=`contour`,levels:c=6,xLabel:l,yLabel:u,zLabel:d,caption:f,footer:p,delay:m}){let h=i[t??`chart`]??i.chart,g=(0,b.useMemo)(()=>{if(!r||r.length===0||!r[0]||r[0].length===0)return null;let e=r.length,t=r[0].length,n=r.flat(),i=Math.min(...n),a=Math.max(...n),l=o?o[0]:i,u=o?o[1]:a,d=u-l||1,f=$r-Y.l-Y.r,p=ei-Y.t-Y.b,m=f/t,h=p/e,g=e=>(e-l)/d,_=[];for(let n=0;n<e;n++)for(let e=0;e<t;e++)_.push({x:Y.l+e*m,y:Y.t+n*h,w:m+.5,h:h+.5,color:ti(g(r[n][e]))});let v=[];if(s===`contour`&&c>0)for(let n=1;n<c;n++){let i=l+n/c*d;for(let n=0;n<e-1;n++)for(let e=0;e<t;e++){let t=r[n][e],a=r[n+1][e];if((t-i)*(a-i)<0){let r=(i-t)/(a-t),o=Y.t+(n+r)*h,s=Y.l+e*m,c=s+m;v.push({x1:s,y1:o,x2:c,y2:o})}}for(let n=0;n<e;n++)for(let e=0;e<t-1;e++){let t=r[n][e],a=r[n][e+1];if((t-i)*(a-i)<0){let r=(i-t)/(a-t),o=Y.l+(e+r)*m,s=Y.t+n*h,c=s+h;v.push({x1:o,y1:s,x2:o,y2:c})}}}return{rows:e,cols:t,cells:_,isoLines:v,zMin:l,zMax:u,norm:g,plotW:f,plotH:p,cellW:m,cellH:h,xTicks:[{label:`0`,x:Y.l},{label:String(Math.round((t-1)/2)),x:Y.l+f/2},{label:String(t-1),x:Y.l+f}],yTicks:[{label:String(e-1),y:Y.t},{label:String(Math.round((e-1)/2)),y:Y.t+p/2},{label:`0`,y:Y.t+p}]}},[r,o,s,c]),_=(0,b.useMemo)(()=>{if(s!==`surface3d`||!g)return null;let{rows:e,cols:t,zMin:n,zMax:i,norm:a}=g,o=i-n||1,c=Math.max(1,Math.floor(Math.max(e,t)/20)),l=Math.ceil(e/c),u=Math.ceil(t/c);function d(e,t,r){let i=e/Math.max(u-1,1),a=t/Math.max(l-1,1),s=(r-n)/o,c=Math.PI/6,d=.55*Math.min($r-Y.l-Y.r,ei-Y.t-Y.b),f=.3*(ei-Y.t-Y.b);return{px:$r/2+(i-a)*Math.cos(c)*d,py:ei-Y.b-(i+a)*Math.sin(c)*d-s*f}}let f=[];for(let n=0;n<l;n++){let i=[];for(let a=0;a<u;a++)i.push(r[Math.min(n*c,e-1)][Math.min(a*c,t-1)]);f.push(i)}let p=[];for(let e=0;e<l;e++)for(let t=0;t<u-1;t++){let n=(f[e][t]+f[e][t+1])/2;p.push({p1:d(t,e,f[e][t]),p2:d(t+1,e,f[e][t+1]),color:ti(a(n)),depth:e+t})}for(let e=0;e<l-1;e++)for(let t=0;t<u;t++){let n=(f[e][t]+f[e+1][t])/2;p.push({p1:d(t,e,f[e][t]),p2:d(t,e+1,f[e+1][t]),color:ti(a(n)),depth:e+t})}return p.sort((e,t)=>t.depth-e.depth),{segments:p,topPt:d(0,0,i),botPt:d(0,0,n)}},[s,g,r]);if(!g)return(0,x.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(m||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(h,{className:`ic`,style:{color:n}}),` `,e||`Surface Plot`]}),(0,x.jsx)(`svg`,{viewBox:`0 0 ${$r} ${ei}`,width:`100%`,style:{display:`block`},children:(0,x.jsx)(`text`,{x:$r/2,y:ei/2,textAnchor:`middle`,fontSize:12,fill:`var(--text-muted)`,children:`No data`})})]});let{cells:v,isoLines:y,zMin:S,zMax:C,plotH:w,xTicks:T,yTicks:E}=g,D=$r-Y.r+4,O=w,k=O/16;return(0,x.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(m||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(h,{className:`ic`,style:{color:n}}),` `,e||`Surface Plot`]}),(0,x.jsx)(`svg`,{role:`img`,"aria-label":e||`surface plot`,viewBox:`0 0 ${$r} ${ei}`,width:`100%`,style:{display:`block`,overflow:`visible`},children:s===`surface3d`?_?(0,x.jsxs)(x.Fragment,{children:[_.segments.map((e,t)=>(0,x.jsx)(`line`,{x1:e.p1.px,y1:e.p1.py,x2:e.p2.px,y2:e.p2.py,stroke:e.color,strokeWidth:.9},t)),d&&(0,x.jsx)(`text`,{x:_.topPt.px-8,y:_.topPt.py,fontSize:9,fill:`var(--text-muted)`,textAnchor:`end`,children:d})]}):null:(0,x.jsxs)(x.Fragment,{children:[v.map((e,t)=>(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,fill:e.color},t)),y.map((e,t)=>(0,x.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`white`,strokeWidth:.6,opacity:.5},t)),T.map((e,t)=>(0,x.jsx)(`text`,{x:e.x,y:ei-Y.b+12,textAnchor:`middle`,fontSize:9,fill:`var(--text-muted)`,children:e.label},t)),l&&(0,x.jsx)(`text`,{x:Y.l+($r-Y.l-Y.r)/2,y:ei-4,textAnchor:`middle`,fontSize:9,fill:`var(--text-muted)`,children:l}),E.map((e,t)=>(0,x.jsx)(`text`,{x:Y.l-4,y:e.y+3,textAnchor:`end`,fontSize:9,fill:`var(--text-muted)`,children:e.label},t)),u&&(0,x.jsx)(`text`,{x:0,y:0,textAnchor:`middle`,fontSize:9,fill:`var(--text-muted)`,transform:`translate(10, ${Y.t+w/2}) rotate(-90)`,children:u}),Array.from({length:16},(e,t)=>(0,x.jsx)(`rect`,{x:D,y:Y.t+t*k,width:6,height:k+.5,fill:ti((15-t)/15)},t)),(0,x.jsx)(`text`,{x:D+3,y:Y.t-2,textAnchor:`middle`,fontSize:8,fill:`var(--text-muted)`,children:ni(C)}),(0,x.jsx)(`text`,{x:D+3,y:Y.t+O+9,textAnchor:`middle`,fontSize:8,fill:`var(--text-muted)`,children:ni(S)})]})}),f&&(0,x.jsx)(`p`,{style:{fontSize:11,color:`var(--text-muted)`,margin:`4px 0 0`,lineHeight:1.3},children:f}),p&&(0,x.jsx)(`div`,{className:`card-footer`,dangerouslySetInnerHTML:a(p)})]})}function ii(e){let t=e;return()=>(t=t*1664525+1013904223&4294967295,(t>>>0)/4294967295)}function ai(e,t){let n=Math.min(...e),r=(Math.max(...e)-n)/t||1,i=Array.from({length:t},(e,t)=>({lo:n+t*r,hi:n+(t+1)*r,count:0}));for(let a of e){let e=Math.min(t-1,Math.floor((a-n)/r));i[e].count++}return i}function oi(e,t,n){if(n<=0)return 0;let r=(e-t)/n;return Math.exp(-.5*r*r)/(n*Math.sqrt(2*Math.PI))}var si=360,ci=280,li=170,ui=10,di=120,fi=360,pi=120,mi=0,hi=360,gi=280,_i=28,vi=li-4,yi=32,bi=di-14,xi=195,Si=fi-5,Ci=32,wi=pi-18,Ti=30,Ei=hi-10,Di=162,Oi=gi-26;function ki({title:e=`Central Limit Theorem`,icon:t=`chart`,iconColor:n=`var(--presence)`,population:r={shape:`uniform`},sampleSize:o=30,numSamples:s=200,footer:u,delay:f}){let p=i[t]||i.chart,m=(0,b.useMemo)(()=>{let e=ii(42),t;if(Array.isArray(r))t=r;else{t=[];let{shape:n}=r;if(n===`uniform`)for(let n=0;n<500;n++)t.push(e()*10);else if(n===`skewed`)for(let n=0;n<500;n++){let n=Math.min(.9999999999,Math.max(1e-10,e()));t.push(Math.min(15,-Math.log(1-n)*3))}else{for(let n=0;n<250;n++){let n=Math.max(1e-10,e()),r=Math.sqrt(-2*Math.log(n))*Math.cos(2*Math.PI*e());t.push(3+r)}for(let n=0;n<250;n++){let n=Math.max(1e-10,e()),r=Math.sqrt(-2*Math.log(n))*Math.cos(2*Math.PI*e());t.push(7+r)}}}if(t.length===0)return null;let n=t.length,i=t.reduce((e,t)=>e+t,0)/n,a=Math.sqrt(t.reduce((e,t)=>e+(t-i)**2,0)/n),c=ii(123),l=[];for(let e=0;e<s;e++){let e=0;for(let r=0;r<o;r++)e+=t[Math.floor(c()*n)];l.push(e/o)}let u=ii(456),d=[];for(let e=0;e<o;e++)d.push(t[Math.floor(u()*n)]);let f=d.reduce((e,t)=>e+t,0)/o,p=ii(789),m=d.map(()=>p()*2-1),h=a>0?a/Math.sqrt(o):1,g=l.reduce((e,t)=>e+t,0)/s,_=ai(t,9),v=ai(l,14);return{popMu:i,popSigma:a,theoreticalSE:h,sdMean:g,numSamplesActual:l.length,displaySample:d,displayMean:f,jitter:m,popHist:_,sdHist:v}},[r,o,s]);if(!m)return null;let{popMu:h,theoreticalSE:g,sdMean:_,numSamplesActual:v,displaySample:y,displayMean:S,jitter:C,popHist:w,sdHist:T}=m,E=bi-yi,D=Math.max(...w.map(e=>e.count),1),O=w[0].lo,k=w[w.length-1].hi,A=l([O,k],[_i,vi]),j=l([O,k],[xi,Si]),M=(wi-Ci)*.4,N=Oi-Di,P=Math.max(...T.map(e=>e.count),1),F=T[0].lo,I=T[T.length-1].hi,L=l([F,I],[Ti,Ei]),ee=(I-F)/14,R=Array.from({length:81},(e,t)=>{let n=F+t/80*(I-F),r=oi(n,_,g)*v*ee,i=Math.max(Di,Oi-r/P*N);return`${L(n).toFixed(1)},${i.toFixed(1)}`}),te=c(F,I,d(I-F,5)),z=e=>Math.abs(e)>=100?e.toFixed(0):Math.abs(e)>=10?e.toFixed(1):e.toFixed(2),B=j(Math.max(O,Math.min(k,S)));return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`svg`,{viewBox:`0 0 ${si} ${ci}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e,children:[(0,x.jsx)(`line`,{x1:180,y1:ui,x2:180,y2:di,stroke:`var(--grid-line)`,strokeWidth:.5}),(0,x.jsx)(`line`,{x1:mi,y1:133,x2:hi,y2:133,stroke:`var(--grid-line)`,strokeWidth:.5}),(0,x.jsx)(`text`,{x:194/2,y:21,textAnchor:`middle`,className:`cx-axlbl`,children:`Population`}),w.map((e,t)=>{let n=e.count/D*E;return(0,x.jsx)(`rect`,{x:A(e.lo)+.5,y:bi-n,width:Math.max(0,A(e.hi)-A(e.lo)-1),height:n,fill:`var(--insight)`,opacity:.72},t)}),(0,x.jsx)(`line`,{x1:_i,y1:bi,x2:vi,y2:bi,className:`cx-axis-l`}),(0,x.jsx)(`line`,{x1:A(h),y1:yi,x2:A(h),y2:bi,stroke:`var(--warning)`,strokeWidth:1,strokeDasharray:`3 2`,opacity:.9}),(0,x.jsx)(`text`,{x:A(h),y:yi-2,textAnchor:`middle`,className:`cx-tick`,style:{fill:`var(--warning)`},children:`μ=`+z(h)}),(0,x.jsx)(`text`,{x:550/2,y:21,textAnchor:`middle`,className:`cx-axlbl`,children:`Sample (n=`+o+`)`}),(0,x.jsx)(`line`,{x1:xi,y1:wi,x2:Si,y2:wi,className:`cx-axis-l`}),y.map((e,t)=>(0,x.jsx)(`circle`,{cx:j(Math.max(O,Math.min(k,e))),cy:67+C[t]*M,r:1.5,fill:`var(--insight)`,opacity:.6},t)),(0,x.jsx)(`line`,{x1:B,y1:36,x2:B,y2:wi,stroke:`var(--warning)`,strokeWidth:1.2,opacity:.9}),(0,x.jsx)(`polygon`,{points:`${B-4.5},${wi-7} ${B+4.5},${wi-7} ${B},105`,fill:`var(--warning)`}),(0,x.jsx)(`text`,{x:B,y:116,textAnchor:`middle`,className:`cx-tick`,style:{fill:`var(--warning)`},children:`x̄=`+z(S)}),(0,x.jsx)(`text`,{x:380/2,y:151,textAnchor:`middle`,className:`cx-axlbl`,children:`Sampling Distribution of x̄`}),T.map((e,t)=>{let n=e.count/P*N;return(0,x.jsx)(`rect`,{x:L(e.lo)+.5,y:Oi-n,width:Math.max(0,L(e.hi)-L(e.lo)-1),height:n,fill:`var(--presence)`,opacity:.72},t)}),(0,x.jsx)(`line`,{x1:Ti,y1:Oi,x2:Ei,y2:Oi,className:`cx-axis-l`}),te.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:L(e),y1:Oi,x2:L(e),y2:258,stroke:`var(--line-strong)`,strokeWidth:.75}),(0,x.jsx)(`text`,{x:L(e),y:266,textAnchor:`middle`,className:`cx-tick`,children:z(e)})]},e)),(0,x.jsx)(`polyline`,{points:R.join(` `),fill:`none`,stroke:`var(--danger)`,strokeWidth:1.5,strokeDasharray:`4 3`}),(0,x.jsx)(`line`,{x1:L(_),y1:Di,x2:L(_),y2:Oi,stroke:`var(--warning)`,strokeWidth:1,strokeDasharray:`3 2`,opacity:.65}),(0,x.jsx)(`text`,{x:Ei,y:171,textAnchor:`end`,className:`cx-tick`,style:{fill:`var(--danger)`},children:`N(μ, σ/√n) SE=`+z(g)})]}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var Ai=320,ji=260,Mi={l:42,r:32,t:16,b:34},Ni=6;function Pi(e){let t=Math.max(0,Math.min(1,e));return`hsl(${Math.round(220-t*220)}, 70%, ${Math.round(50+t*8)}%)`}function Fi(e){if(!Number.isFinite(e))return``;let t=Math.abs(e);return t!==0&&(t>=1e3||t<.001)?e.toExponential(1):t>=10?e.toFixed(1):e.toFixed(2)}function Ii(e,t,n){let r=Math.min(t,n),i=Math.max(t,n);if(e.length===0)return[r,i];let a=e[0]<=e[e.length-1],o=[a?r:i];for(let t=0;t<e.length-1;t++)o.push((e[t]+e[t+1])/2);return o.push(a?i:r),o}function Li({title:e,icon:t,iconColor:n=`var(--presence)`,contour:r,path:o=[],learningRate:c,footer:d,delay:p}){let m=i[t??`chart`]??i.chart,h=(0,b.useRef)(null),_=(0,b.useMemo)(()=>{if(!r||r.length===0||!r[0]||r[0].length===0)return null;let e=r.length,t=r[0].length,n=r[0].map(e=>e.x),i=r.map(e=>e[0]?.y??0),a=f(r.flat().map(e=>e.z));if(!a)return null;let s=f([...n,...o.map(e=>e.x)]),c=f([...i,...o.map(e=>e.y)]);if(!s||!c)return null;let[d,p]=u(s[0],s[1]),[m,h]=u(c[0],c[1]),[g,_]=a,v=_-g||1,y=Mi.l,b=Ai-Mi.r,x=Mi.t,S=ji-Mi.b,C=l([d,p],[y,b]),w=l([m,h],[S,x]),T=n.map(C),E=i.map(w),D=Ii(T,y,b),O=Ii(E,x,S),k=[];for(let n=0;n<e;n++)for(let e=0;e<t;e++){let t=r[n]?.[e]?.z;if(t===void 0)continue;let i=D[e],a=D[e+1],o=O[n],s=O[n+1];k.push({x:Math.min(i,a),y:Math.min(o,s),w:Math.abs(a-i)+.5,h:Math.abs(s-o)+.5,color:Pi(Math.sqrt((t-g)/v))})}let A=[];for(let n=1;n<Ni;n++){let i=g+(n/Ni)**2*v;for(let n=0;n<e-1;n++)for(let e=0;e<t;e++){let t=r[n]?.[e],a=r[n+1]?.[e];if(!(!t||!a)&&(t.z-i)*(a.z-i)<0){let r=(i-t.z)/(a.z-t.z),o=E[n]+(E[n+1]-E[n])*r;A.push({x1:D[e],y1:o,x2:D[e+1],y2:o})}}for(let n=0;n<e;n++)for(let e=0;e<t-1;e++){let t=r[n]?.[e],a=r[n]?.[e+1];if(!(!t||!a)&&(t.z-i)*(a.z-i)<0){let r=(i-t.z)/(a.z-t.z),o=T[e]+(T[e+1]-T[e])*r;A.push({x1:o,y1:O[n],x2:o,y2:O[n+1]})}}}return{sx:C,sy:w,cells:k,isoLines:A,zMin:g,zMax:_,plotT:x,plotB:S,xTicks:C.ticks(4),yTicks:w.ticks(4)}},[r,o]),v=(0,b.useMemo)(()=>{if(!_||o.length===0)return null;let e=[...o].sort((e,t)=>e.step-t.step).map(e=>({x:_.sx(e.x),y:_.sy(e.y),step:e.step}));return{pts:e,d:e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`).join(``)}},[_,o]);if(g(h,{delay:(p??0)+260}),!_)return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e||`Gradient descent`]}),(0,x.jsx)(`svg`,{viewBox:`0 0 ${Ai} ${ji}`,width:`100%`,style:{display:`block`},children:(0,x.jsx)(`text`,{x:Ai/2,y:ji/2,textAnchor:`middle`,fontSize:12,fill:`var(--text-muted)`,children:`No data`})})]});let{cells:y,isoLines:S,zMin:C,zMax:w,plotT:T,plotB:E,xTicks:D,yTicks:O}=_,k=Ai-Mi.r+6,A=(E-T)/14;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e||`Gradient descent`]}),(0,x.jsx)(`div`,{className:`gd-wrap`,children:(0,x.jsxs)(`svg`,{role:`img`,"aria-label":e||`gradient descent on a loss surface`,viewBox:`0 0 ${Ai} ${ji}`,className:`gd-svg`,children:[y.map((e,t)=>(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,fill:e.color},t)),S.map((e,t)=>(0,x.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`white`,strokeWidth:.6,opacity:.45},t)),D.map((e,t)=>(0,x.jsx)(`text`,{x:_.sx(e),y:E+13,className:`gd-tick`,textAnchor:`middle`,children:e},`xt${t}`)),O.map((e,t)=>(0,x.jsx)(`text`,{x:Mi.l-5,y:_.sy(e)+3,className:`gd-tick`,textAnchor:`end`,children:e},`yt${t}`)),Array.from({length:14},(e,t)=>(0,x.jsx)(`rect`,{x:k,y:T+t*A,width:6,height:A+.5,fill:Pi((13-t)/13)},`leg${t}`)),(0,x.jsx)(`text`,{x:k+3,y:T-3,textAnchor:`middle`,className:`gd-legend-lbl`,children:Fi(w)}),(0,x.jsx)(`text`,{x:k+3,y:E+10,textAnchor:`middle`,className:`gd-legend-lbl`,children:Fi(C)}),v&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{ref:h,d:v.d,className:`gd-path`,fill:`none`}),v.pts.map((e,t)=>{let n=t===0,r=t===v.pts.length-1&&v.pts.length>1,i=r?`gd-step gd-step-end`:n?`gd-step gd-step-start`:`gd-step`;return(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:r||n?4:2.4,className:`${i} m-scale-in`,style:{"--delay":`${(p??0)+260+Math.min(t,24)*45}ms`}},`step-${t}`)})]})]})}),(c!==void 0||v)&&(0,x.jsxs)(`p`,{className:`gd-caption`,children:[c!==void 0&&(0,x.jsxs)(x.Fragment,{children:[`Learning rate `,s(c)]}),c!==void 0&&v&&` · `,v&&(0,x.jsxs)(x.Fragment,{children:[v.pts.length,` steps`]})]}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(d)})]})}var Ri=320,zi=220,Bi={l:38,r:16,t:14,b:34},Vi=40,Hi=`var(--insight)`,Ui=`var(--danger)`;function Wi({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,complexity:r,trainError:o,testError:s,sweetSpot:c,footer:d,delay:p}){let m=i[t]||i.chart,[h,_]=(0,b.useState)(null),v=(0,b.useRef)(null),y=(0,b.useRef)(null),S=(0,b.useMemo)(()=>{let e=Math.min(r?.length??0,o?.length??0,s?.length??0);if(e===0)return null;let t=r.slice(0,e),n=o.slice(0,e),i=s.slice(0,e),a=f(c===void 0?t:[...t,c]),d=f([...n,...i]);if(!a||!d)return null;let[p,m]=u(a[0],a[1]),[h,g]=u(Math.min(0,d[0]),d[1]),_=Bi.l,v=Ri-Bi.r,y=Bi.t,b=zi-Bi.b,x=l([p,m],[_,v]),S=l([h,g],[b,y]),C=t.map((e,t)=>({x:x(e),y:S(n[t])})),w=t.map((e,t)=>({x:x(e),y:S(i[t])}));return{sx:x,sy:S,plotL:_,plotR:v,plotT:y,plotB:b,trainPts:C,testPts:w,trainD:C.map((e,t)=>`${t?`L`:`M`}${e.x},${e.y}`).join(``),testD:w.map((e,t)=>`${t?`L`:`M`}${e.x},${e.y}`).join(``),sweetX:c===void 0?null:x(c),bandHalf:(v-_)*.035,showDots:e<=Vi,xTicks:x.ticks(5),yTicks:S.ticks(4)}},[r,o,s,c]);return g(v,{delay:p??0}),g(y,{delay:(p??0)+90}),(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e||`Bias-variance tradeoff`]}),S?(0,x.jsxs)(`div`,{className:`bv-wrap`,onMouseLeave:()=>_(null),children:[(0,x.jsxs)(`svg`,{role:`img`,"aria-label":e||`bias-variance tradeoff`,viewBox:`0 0 ${Ri} ${zi}`,className:`bv-svg`,children:[S.yTicks.map((e,t)=>(0,x.jsx)(`line`,{x1:S.plotL,y1:S.sy(e),x2:S.plotR,y2:S.sy(e),className:`bv-grid`},`gy${t}`)),S.sweetX!==null&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:S.sweetX-S.bandHalf,y:S.plotT,width:S.bandHalf*2,height:S.plotB-S.plotT,className:`bv-sweet-band`}),(0,x.jsx)(`line`,{x1:S.sweetX,y1:S.plotT,x2:S.sweetX,y2:S.plotB,className:`bv-sweet-line`}),(0,x.jsx)(`text`,{x:S.sweetX,y:S.plotT-4,textAnchor:`middle`,className:`bv-sweet-lbl`,children:`sweet spot`})]}),(0,x.jsx)(`line`,{x1:S.plotL,y1:S.plotB,x2:S.plotR,y2:S.plotB,className:`bv-axis`}),S.xTicks.map((e,t)=>(0,x.jsx)(`text`,{x:S.sx(e),y:S.plotB+13,textAnchor:`middle`,className:`bv-tick`,children:e},`xt${t}`)),(0,x.jsx)(`path`,{ref:v,d:S.trainD,fill:`none`,className:`bv-curve`,style:{stroke:Hi,opacity:h&&h!==`train`?.25:1,strokeWidth:h===`train`?3:2},onMouseEnter:()=>_(`train`)}),(0,x.jsx)(`path`,{ref:y,d:S.testD,fill:`none`,className:`bv-curve`,style:{stroke:Ui,opacity:h&&h!==`test`?.25:1,strokeWidth:h===`test`?3:2},onMouseEnter:()=>_(`test`)}),S.showDots&&S.trainPts.map((e,t)=>(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:2.2,fill:Hi,className:`m-scale-in`,style:{"--delay":`${(p??0)+260+t*18}ms`}},`dt${t}`)),S.showDots&&S.testPts.map((e,t)=>(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:2.2,fill:Ui,className:`m-scale-in`,style:{"--delay":`${(p??0)+350+t*18}ms`}},`de${t}`)),(0,x.jsx)(`text`,{x:S.plotL,y:zi-6,textAnchor:`start`,className:`bv-zone-lbl`,children:`underfitting`}),(0,x.jsx)(`text`,{x:S.plotR,y:zi-6,textAnchor:`end`,className:`bv-zone-lbl`,children:`overfitting`}),(0,x.jsx)(`text`,{x:0,y:0,textAnchor:`middle`,className:`bv-axlbl`,transform:`translate(12, ${(S.plotT+S.plotB)/2}) rotate(-90)`,children:`Error`}),(0,x.jsx)(`text`,{x:(S.plotL+S.plotR)/2,y:S.plotB+26,textAnchor:`middle`,className:`bv-axlbl`,children:`Model complexity →`})]}),(0,x.jsxs)(`div`,{className:`bv-legend`,children:[(0,x.jsxs)(`button`,{className:`bv-leg`+(h===`train`?` on`:``),onMouseEnter:()=>_(`train`),onMouseLeave:()=>_(null),children:[(0,x.jsx)(`i`,{style:{background:Hi}}),`Training error`]}),(0,x.jsxs)(`button`,{className:`bv-leg`+(h===`test`?` on`:``),onMouseEnter:()=>_(`test`),onMouseLeave:()=>_(null),children:[(0,x.jsx)(`i`,{style:{background:Ui}}),`Test error`]})]})]}):(0,x.jsx)(`div`,{className:`bv-empty`,children:`Provide complexity, trainError, and testError arrays.`}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(d)})]})}var Gi=320,X={l:40,r:12,t:8},Ki=56,qi=8,Ji=20,Yi=9,Xi=15;function Zi(e){return e.length>Yi?`${e.slice(0,Yi-1)}…`:e}function Qi({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,dates:r,observed:o,trend:c,seasonal:d,residual:p,footer:m,delay:h}){let _=i[t]||i.layers,v=(0,b.useRef)(null),y=(0,b.useRef)(null),S=(0,b.useRef)(null),C=(0,b.useRef)(null),w=[v,y,S,C],T=(0,b.useMemo)(()=>{let e=Math.min(r?.length??0,o?.length??0,c?.length??0,d?.length??0,p?.length??0);if(e===0)return null;let t=[{key:`observed`,label:`Observed`,color:`var(--presence)`,values:o.slice(0,e)},{key:`trend`,label:`Trend`,color:`var(--insight)`,values:c.slice(0,e)},{key:`seasonal`,label:`Seasonal`,color:`var(--warning)`,values:d.slice(0,e)},{key:`residual`,label:`Residual`,color:`var(--text-muted)`,values:p.slice(0,e)}],n=X.t+t.length*Ki+(t.length-1)*qi+Ji,i=X.l,a=Gi-X.r,s=t=>e<=1?i+(a-i)/2:i+t/(e-1)*(a-i),m=t.map((e,t)=>{let n=X.t+t*64,r=n+Ki,i=f(e.values)??[0,1],[a,o]=u(Math.min(0,i[0]),Math.max(0,i[1])),c=l([a,o],[r-4,n+Xi]),d=e.values.map((e,t)=>({x:s(t),y:c(e)})),p=d.map((e,t)=>`${t?`L`:`M`}${e.x},${e.y}`).join(``),m=a<=0&&o>=0?c(0):null,h=e.values[e.values.length-1];return{...e,top:n,bottom:r,pts:d,d:p,zeroY:m,last:h}}),h=X.t+t.length*64-qi,g=Math.min(6,e),_=e<=1?[0]:Array.from({length:g},(t,n)=>Math.round(n/(g-1)*(e-1)));return{H:n,panels:m,px:s,axisY:h,uniqueTicks:[...new Set(_)]}},[r,o,c,d,p]);return g(v,{delay:h??0}),g(y,{delay:(h??0)+70}),g(S,{delay:(h??0)+140}),g(C,{delay:(h??0)+210}),(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(h||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(_,{className:`ic`,style:{color:n}}),` `,e||`Time series decomposition`]}),T?(0,x.jsx)(`div`,{className:`tsd-wrap`,children:(0,x.jsxs)(`svg`,{role:`img`,"aria-label":e||`time series decomposition`,viewBox:`0 0 ${Gi} ${T.H}`,className:`tsd-svg`,children:[T.panels.map((e,t)=>(0,x.jsxs)(`g`,{children:[t>0&&(0,x.jsx)(`line`,{x1:X.l,y1:e.top-qi/2,x2:Gi-X.r,y2:e.top-qi/2,className:`tsd-sep`}),e.zeroY!==null&&(0,x.jsx)(`line`,{x1:X.l,y1:e.zeroY,x2:Gi-X.r,y2:e.zeroY,className:`tsd-zero`}),(0,x.jsx)(`path`,{ref:w[t],d:e.d,fill:`none`,className:`tsd-line`,style:{stroke:e.color}}),e.pts.length===1&&(0,x.jsx)(`circle`,{cx:e.pts[0].x,cy:e.pts[0].y,r:2.4,fill:e.color}),(0,x.jsx)(`text`,{x:X.l,y:e.top+8,className:`tsd-panel-lbl`,children:e.label}),e.last!==void 0&&Number.isFinite(e.last)&&(0,x.jsx)(`text`,{x:Gi-X.r,y:e.top+8,textAnchor:`end`,className:`tsd-panel-val`,children:s(e.last,{decimals:Math.abs(e.last)<10?2:void 0})})]},e.key)),(0,x.jsx)(`line`,{x1:X.l,y1:T.axisY,x2:Gi-X.r,y2:T.axisY,className:`tsd-axis`}),T.uniqueTicks.map(e=>(0,x.jsx)(`text`,{x:T.px(e),y:T.axisY+13,textAnchor:`middle`,className:`tsd-tick`,children:Zi(r[e]??``)},e))]})}):(0,x.jsx)(`div`,{className:`tsd-empty`,children:`Provide dates, observed, trend, seasonal, and residual arrays of matching length.`}),m&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(m)})]})}var $i=320,ea=260,Z={top:16,right:16,bottom:44,left:46},ta=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],na=[0,.2,.4,.6,.8,1];function ra({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,curves:r,avgPrecision:o,footer:s,delay:c}){let u=i[t]||i.chart,[d,f]=(0,b.useState)(null),p=(0,b.useRef)(null),m=(0,b.useRef)(null),h=(0,b.useRef)(null),_=(0,b.useRef)(null),v=[p,m,h,_];g(p,{delay:c??0}),g(m,{delay:(c??0)+90}),g(h,{delay:(c??0)+180}),g(_,{delay:(c??0)+270});let y=$i-Z.left-Z.right,S=ea-Z.top-Z.bottom,C=(0,b.useMemo)(()=>l([0,1],[Z.left,Z.left+y]),[y]),w=(0,b.useMemo)(()=>l([0,1],[Z.top+S,Z.top]),[S]),T=(0,b.useMemo)(()=>(r??[]).map(e=>{let t=[...e.points??[]].filter(e=>Number.isFinite(e.recall)&&Number.isFinite(e.precision)).sort((e,t)=>e.recall-t.recall),n=t.map(e=>`${C(e.recall)},${w(e.precision)}`).join(`L`),r=n?`M${n}`:``,i=t.length?`${r}L${C(1)},${w(0)}L${C(0)},${w(0)}Z`:``;return{...e,sorted:t,path:r,fill:i}}),[r,C,w]),E=T.some(e=>e.sorted.length>0);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e||`Precision-recall curve`,o!==void 0&&(0,x.jsxs)(`span`,{className:`prc-ap-badge`,children:[`AP `,o.toFixed(3)]})]}),E?(0,x.jsx)(`div`,{className:`prc-wrap`,onMouseLeave:()=>f(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${$i} ${ea}`,className:`prc-svg`,role:`img`,"aria-label":e??`precision-recall curve`,children:[(0,x.jsx)(`defs`,{children:T.map((e,t)=>(0,x.jsx)(`clipPath`,{id:`prc-clip-${t}`,children:(0,x.jsx)(`rect`,{x:Z.left,y:Z.top,width:y,height:S})},`cp${t}`))}),na.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:C(e),y1:Z.top,x2:C(e),y2:Z.top+S,className:`prc-gridline`}),(0,x.jsx)(`line`,{x1:Z.left,y1:w(e),x2:Z.left+y,y2:w(e),className:`prc-gridline`})]},`g${e}`)),T.map((e,t)=>{if(!e.fill)return null;let n=e.color??ta[t%ta.length],r=d!==null&&d!==t;return(0,x.jsx)(`path`,{d:e.fill,fill:`color-mix(in oklab, ${n} 14%, transparent)`,clipPath:`url(#prc-clip-${t})`,style:{opacity:r?.3:1,transition:`opacity var(--m-fast)`}},`fill${t}`)}),T.map((e,t)=>{if(!e.path)return null;let n=e.color??ta[t%ta.length],r=d===t,i=d!==null&&!r;return(0,x.jsx)(`path`,{ref:v[t],d:e.path,fill:`none`,stroke:n,strokeWidth:r?3:2.5,strokeLinejoin:`round`,strokeLinecap:`round`,clipPath:`url(#prc-clip-${t})`,style:{opacity:i?.35:1,transition:`opacity var(--m-fast)`},onMouseEnter:()=>f(t)},`curve${t}`)}),(0,x.jsx)(`line`,{x1:Z.left,y1:Z.top+S,x2:Z.left+y,y2:Z.top+S,className:`prc-axis`}),(0,x.jsx)(`line`,{x1:Z.left,y1:Z.top,x2:Z.left,y2:Z.top+S,className:`prc-axis`}),na.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:C(e),y1:Z.top+S,x2:C(e),y2:Z.top+S+4,className:`prc-tick`}),(0,x.jsx)(`text`,{x:C(e),y:Z.top+S+16,textAnchor:`middle`,className:`prc-tick-label`,children:e===0?`0`:e===1?`1`:e.toFixed(1)})]},`xt${e}`)),na.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:Z.left-4,y1:w(e),x2:Z.left,y2:w(e),className:`prc-tick`}),(0,x.jsx)(`text`,{x:Z.left-8,y:w(e)+4,textAnchor:`end`,className:`prc-tick-label`,children:e===0?`0`:e===1?`1`:e.toFixed(1)})]},`yt${e}`)),(0,x.jsx)(`text`,{x:Z.left+y/2,y:Z.top+S+34,textAnchor:`middle`,className:`prc-axis-label`,children:`Recall`}),(0,x.jsx)(`text`,{x:0,y:0,textAnchor:`middle`,className:`prc-axis-label`,transform:`translate(14, ${Z.top+S/2}) rotate(-90)`,children:`Precision`})]})}):(0,x.jsx)(`div`,{className:`prc-empty`,children:`Provide at least one curve with recall/precision points.`}),E&&(0,x.jsx)(`div`,{className:`prc-legend`,children:T.map((e,t)=>{let n=e.color??ta[t%ta.length];return(0,x.jsxs)(`button`,{className:`prc-leg`+(d===t?` on`:``),onMouseEnter:()=>f(t),onMouseLeave:()=>f(null),children:[(0,x.jsx)(`i`,{style:{background:n}}),e.label]},t)})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var ia=480,aa=220,oa={top:26,right:18,bottom:30,left:40},sa=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],ca=30;function la(e,t){let n=e&&typeof e==`object`?e:{},r=typeof n.rt==`number`&&Number.isFinite(n.rt)?n.rt:null,i=typeof n.label==`string`&&n.label.trim()?n.label.trim():`Peak ${t+1}`,a=typeof n.areaPct==`number`&&Number.isFinite(n.areaPct)?n.areaPct:null;return{rt:r,label:i,areaPct:a===null?null:Math.max(0,Math.min(100,a)),height:typeof n.height==`number`&&Number.isFinite(n.height)?n.height:null}}function ua(e){return e===null?`—`:`${e.toFixed(2)} min`}function da(e){return e===null?`—`:`${e.toFixed(1)}%`}function fa(e){return e===null?`—`:e.toLocaleString(void 0,{maximumFractionDigits:1})}function pa(e){return e.length>ca?`${e.slice(0,ca-1).trimEnd()}…`:e}function ma({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,method:r,trace:o,peaks:s,footer:c,delay:d}){let p=i[t]||i.chart,[m,h]=(0,b.useState)(null),_=(0,b.useRef)(null),v=(0,b.useMemo)(()=>(Array.isArray(s)?s:[]).map((e,t)=>la(e,t)),[s]),y=(0,b.useMemo)(()=>{let e=(Array.isArray(o)?o:[]).filter(e=>!!e&&typeof e==`object`&&Number.isFinite(e.t)&&Number.isFinite(e.signal)).map(e=>({t:e.t,signal:e.signal})).sort((e,t)=>e.t-t.t);if(e.length<2)return null;let t=f(e.map(e=>e.t)),n=f(e.map(e=>e.signal)),[r,i]=u(t[0],t[1]),a=n[1]-n[0]||1,s=Math.min(0,n[0]),c=n[1]+a*.34,d=oa.left,p=ia-oa.right,m=oa.top,h=aa-oa.bottom,g=l([r,i],[d,p]),_=l([s,c],[h,m]),y=e.map(e=>({x:g(e.t),y:_(e.signal)})),b=y.map((e,t)=>`${t?`L`:`M`}${e.x.toFixed(2)},${e.y.toFixed(2)}`).join(` `),x=t=>{let n=0,r=1/0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i].t-t);a<r&&(r=a,n=i)}return n},S=v.map((e,t)=>e.rt===null?null:{...e,srcIdx:t,apexIdx:x(e.rt)}).filter(e=>e!==null).sort((e,t)=>e.apexIdx-t.apexIdx),C=[0];for(let t=0;t<S.length-1;t++){let n=Math.min(S[t].apexIdx,S[t+1].apexIdx),r=Math.max(S[t].apexIdx,S[t+1].apexIdx),i=n;for(let t=n;t<=r;t++)e[t].signal<e[i].signal&&(i=t);C.push(i)}return C.push(e.length-1),{sx:g,sy:_,plotL:d,plotR:p,plotT:m,plotB:h,traceD:b,tracePts:y,plottable:S,shaded:S.map((e,t)=>{let n=C[t],r=C[t+1];if(r<=n)return null;let i=y.slice(n,r+1);return{d:`M${i[0].x.toFixed(2)},${h.toFixed(2)} `+i.map(e=>`L${e.x.toFixed(2)},${e.y.toFixed(2)}`).join(` `)+` L${i[i.length-1].x.toFixed(2)},${h.toFixed(2)} Z`,apexIdx:e.apexIdx}}).filter(e=>e!==null),xTicks:g.ticks(5),yTicks:_.ticks(4)}},[o,v]);return g(_,{delay:d??0}),(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,x.jsx)(`p`,{className:`c2-chrom-method`,children:r}),y&&(0,x.jsx)(`div`,{className:`c2-chrom-wrap`,onMouseLeave:()=>h(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ia} ${aa}`,className:`c2-chrom-svg`,role:`img`,"aria-label":e,children:[y.yTicks.map((e,t)=>(0,x.jsx)(`line`,{x1:y.plotL,y1:y.sy(e),x2:y.plotR,y2:y.sy(e),className:`c2-chrom-grid`},`gy${t}`)),y.shaded.map((e,t)=>(0,x.jsx)(`path`,{d:e.d,className:`c2-chrom-fill m-fade-rise m-stagger-item`,style:{fill:sa[t%sa.length],"--i":t}},`fill${t}`)),(0,x.jsx)(`line`,{x1:y.plotL,y1:y.plotB,x2:y.plotR,y2:y.plotB,className:`c2-chrom-axis`}),y.xTicks.map((e,t)=>(0,x.jsx)(`text`,{x:y.sx(e),y:y.plotB+13,textAnchor:`middle`,className:`c2-chrom-tick`,children:e},`xt${t}`)),(0,x.jsx)(`line`,{x1:y.plotL,y1:y.plotT,x2:y.plotL,y2:y.plotB,className:`c2-chrom-axis`}),y.yTicks.map((e,t)=>(0,x.jsx)(`text`,{x:y.plotL-5,y:y.sy(e)+3,textAnchor:`end`,className:`c2-chrom-tick`,children:e},`yt${t}`)),(0,x.jsx)(`path`,{ref:_,d:y.traceD,className:`c2-chrom-line`}),y.plottable.map((e,t)=>{let n=y.tracePts[e.apexIdx],r=pa([ua(e.rt),e.label,e.areaPct===null?null:`${e.areaPct.toFixed(1)}%`].filter(Boolean).join(` · `)),i=ia-oa.right-n.x>=n.x-oa.left?`start`:`end`,a=i===`start`?Math.min(n.x+5,ia-oa.right):Math.max(n.x-5,oa.left),o=sa[t%sa.length],s=m===e.srcIdx;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:n.x,y1:n.y,x2:n.x,y2:y.plotB,className:`c2-chrom-guide`,style:{opacity:s?.55:.22}}),(0,x.jsx)(`circle`,{cx:n.x,cy:n.y,r:s?4:3,fill:o,className:`m-scale-in`,style:{"--delay":`${(d??0)+260+t*40}ms`},onMouseEnter:()=>h(e.srcIdx)}),(0,x.jsx)(`text`,{x:a,y:Math.max(oa.top-6,n.y-8),textAnchor:i,className:`c2-chrom-mk`,style:{fill:s?o:void 0},children:r})]},`pk${e.srcIdx}`)}),(0,x.jsx)(`text`,{x:(y.plotL+y.plotR)/2,y:aa-6,textAnchor:`middle`,className:`c2-chrom-axlbl`,children:`Retention time`}),(0,x.jsx)(`text`,{x:0,y:0,textAnchor:`middle`,className:`c2-chrom-axlbl`,transform:`translate(11, ${(y.plotT+y.plotB)/2}) rotate(-90)`,children:`Signal`})]})}),v.length===0?(0,x.jsx)(`p`,{className:`c2-chrom-empty faint`,children:`No peaks reported.`}):(0,x.jsx)(`div`,{className:`c2-chrom-table-wrap`,children:(0,x.jsxs)(`table`,{className:`c2-chrom-table`,children:[(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`th`,{className:`r`,children:`RT`}),(0,x.jsx)(`th`,{children:`Compound`}),(0,x.jsx)(`th`,{className:`r`,children:`Area %`}),(0,x.jsx)(`th`,{className:`r`,children:`Height`})]})}),(0,x.jsx)(`tbody`,{children:v.map((e,t)=>(0,x.jsxs)(`tr`,{className:`m-fade-rise m-stagger-item`,style:{"--i":t},onMouseEnter:()=>h(t),onMouseLeave:()=>h(null),children:[(0,x.jsx)(`td`,{className:`r tab-num`,children:ua(e.rt)}),(0,x.jsx)(`td`,{children:e.label}),(0,x.jsx)(`td`,{className:`r tab-num`,children:da(e.areaPct)}),(0,x.jsx)(`td`,{className:`r tab-num`,children:fa(e.height)})]},t))})]})}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var ha=360,ga=240,_a={top:18,right:20,bottom:36,left:50};function va(e){return!!e&&Number.isFinite(e.strain)&&Number.isFinite(e.stress)}function ya(e){let t=e*100;return`${Math.abs(t)<1?t.toFixed(2):t.toFixed(1)}%`}function ba(e){let t=Math.abs(e);return t>=1e3?`${(e/1e3).toFixed(2)}k`:t<10?e.toFixed(2):e.toFixed(1)}function xa(e){let t=Math.abs(e);return t>=1e6?`${(e/1e6).toFixed(2)}M`:t>=1e3?`${(e/1e3).toFixed(1)}k`:t<10?e.toFixed(2):e.toFixed(0)}function Sa({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,curve:r,yieldPoint:o,ultimatePoint:s,fracturePoint:c,footer:d,delay:p}){let m=i[t]||i.chart,h=(0,b.useId)().replace(/:/g,``),_=(0,b.useRef)(null),v=(0,b.useMemo)(()=>{let e=(Array.isArray(r)?r:[]).filter(e=>!!e&&typeof e==`object`&&Number.isFinite(e.strain)&&Number.isFinite(e.stress));if(e.length<2)return null;let t=va(o)?o:void 0,n=va(s)?s:void 0,i=va(c)?c:void 0,a=[t,n,i].filter(e=>!!e),d=f(e.map(e=>e.strain).concat(a.map(e=>e.strain))),p=f(e.map(e=>e.stress).concat(a.map(e=>e.stress))),[m,h]=u(Math.min(0,d[0]),d[1]),[g,_]=u(Math.min(0,p[0]),p[1]),v=_a.left,y=ha-_a.right,b=_a.top,x=ga-_a.bottom,S=l([m,h],[v,y]),C=l([g,_],[x,b]),w=e.map(e=>({x:S(e.strain),y:C(e.stress)})),T=w.map((e,t)=>`${t?`L`:`M`}${e.x.toFixed(2)},${e.y.toFixed(2)}`).join(` `),E=null,D=null;if(t){let n=0,r=1/0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i].strain-t.strain);a<r&&(r=a,n=i)}if(n>0){let e=w.slice(0,n+1),t=C(0);E=`M${e[0].x.toFixed(2)},${t.toFixed(2)} `+e.map(e=>`L${e.x.toFixed(2)},${e.y.toFixed(2)}`).join(` `)+` L${e[e.length-1].x.toFixed(2)},${t.toFixed(2)} Z`}let i=t.strain-e[0].strain;if(i!==0){let n=(t.stress-e[0].stress)/i;Number.isFinite(n)&&(D=n)}}let O=[{key:`yield`,point:t,label:`Yield`,color:`var(--warning)`},{key:`ultimate`,point:n,label:`UTS`,color:`var(--presence)`},{key:`fracture`,point:i,label:`Fracture`,color:`var(--danger)`}].filter(e=>!!e.point);return{sx:S,sy:C,plotL:v,plotR:y,plotT:b,plotB:x,pathD:T,elasticD:E,modulus:D,markers:O,xTicks:S.ticks(5),yTicks:C.ticks(5)}},[r,o,s,c]);return g(_,{delay:p??0}),(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),v?(0,x.jsxs)(`div`,{className:`c2-ssc-wrap`,children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ha} ${ga}`,className:`c2-ssc-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:v.markers.map(e=>(0,x.jsx)(`marker`,{id:`ssc-arrow-${e.key}-${h}`,markerWidth:`7`,markerHeight:`7`,refX:`5.5`,refY:`3.5`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M1.2,1.2 L5.5,3.5 L1.2,5.8`,className:`c2-ssc-arrowhead`,style:{stroke:e.color}})},e.key))}),v.yTicks.map((e,t)=>(0,x.jsx)(`line`,{x1:v.plotL,y1:v.sy(e),x2:v.plotR,y2:v.sy(e),className:`c2-ssc-grid`},`gy${t}`)),v.elasticD&&(0,x.jsx)(`path`,{d:v.elasticD,className:`c2-ssc-elastic`}),(0,x.jsx)(`line`,{x1:v.plotL,y1:v.plotB,x2:v.plotR,y2:v.plotB,className:`c2-ssc-axis`}),v.xTicks.map((e,t)=>(0,x.jsx)(`text`,{x:v.sx(e),y:v.plotB+13,textAnchor:`middle`,className:`c2-ssc-tick`,children:ya(e)},`xt${t}`)),(0,x.jsx)(`line`,{x1:v.plotL,y1:v.plotT,x2:v.plotL,y2:v.plotB,className:`c2-ssc-axis`}),v.yTicks.map((e,t)=>(0,x.jsx)(`text`,{x:v.plotL-5,y:v.sy(e)+3,textAnchor:`end`,className:`c2-ssc-tick`,children:ba(e)},`yt${t}`)),(0,x.jsx)(`path`,{ref:_,d:v.pathD,className:`c2-ssc-line`}),v.markers.map((e,t)=>{let n=v.sx(e.point.strain),r=v.sy(e.point.stress),i=n<(v.plotL+v.plotR)/2,a=i?Math.min(n+30,v.plotR-4):Math.max(n-30,v.plotL+4),o=Math.max(v.plotT+8,r-26);return(0,x.jsxs)(`g`,{className:`m-fade-rise m-stagger-item`,style:{"--i":t},children:[(0,x.jsx)(`circle`,{cx:n,cy:r,r:3.2,fill:e.color}),(0,x.jsx)(`line`,{x1:a,y1:o,x2:n,y2:r,className:`c2-ssc-leader`,style:{stroke:e.color},markerEnd:`url(#ssc-arrow-${e.key}-${h})`}),(0,x.jsxs)(`text`,{x:a,y:o-4,textAnchor:i?`start`:`end`,className:`c2-ssc-mk`,style:{fill:e.color},children:[e.label,` · `,ba(e.point.stress)]})]},e.key)}),(0,x.jsx)(`text`,{x:(v.plotL+v.plotR)/2,y:ga-6,textAnchor:`middle`,className:`c2-ssc-axlbl`,children:`Strain`}),(0,x.jsx)(`text`,{x:0,y:0,textAnchor:`middle`,className:`c2-ssc-axlbl`,transform:`translate(13, ${(v.plotT+v.plotB)/2}) rotate(-90)`,children:`Stress`})]}),v.modulus!==null&&(0,x.jsxs)(`p`,{className:`c2-ssc-modulus`,children:[`Young’s modulus `,(0,x.jsx)(`em`,{children:`E`}),` ≈ `,xa(v.modulus),(0,x.jsx)(`span`,{className:`faint`,children:` (elastic slope, stress ÷ strain)`})]})]}):(0,x.jsx)(`div`,{className:`c2-ssc-empty faint`,children:`Provide a strain/stress curve with at least two points.`}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var Ca=480,wa=300,Ta={l:46,r:20,t:16,b:38},Ea=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--danger)`];function Da(e,t){let n=e&&typeof e==`object`?e:{},r=typeof n.name==`string`&&n.name.trim()?n.name.trim():`Gate ${t+1}`,i=n.shape===`ellipse`||n.shape===`polygon`?n.shape:null,a=(Array.isArray(n.region)?n.region:[]).filter(e=>Array.isArray(e)&&e.length>=2).map(e=>[Number(e[0]),Number(e[1])]).filter(([e,t])=>Number.isFinite(e)&&Number.isFinite(t)),o=typeof n.pctOfParent==`number`&&Number.isFinite(n.pctOfParent)?n.pctOfParent:null;return{name:r,shape:i,region:a,pctOfParent:o===null?null:Math.max(0,Math.min(100,o)),color:typeof n.color==`string`&&n.color.trim()?n.color:Ea[t%Ea.length]}}function Oa(e){return e.shape===`ellipse`?e.region.length>=2:e.shape===`polygon`?e.region.length>=3:!1}function ka(e,t,n){if(t){let t=e.filter(e=>Number.isFinite(e)&&e>0);if(t.length===0)return null;let r=Math.min(...t),i=Math.max(...t),a=Math.log10(r===i?r*.5:r),o=Math.log10(r===i?i*2:i),s=(o-a)*.1||.3,c=a-s,l=o+s,u=l-c||1,d=e=>n[0]+(Math.log10(e)-c)/u*(n[1]-n[0]),f=[];for(let e=Math.ceil(c);e<=Math.floor(l);e++)f.push(10**e);return f.length===0&&f.push(10**Math.round((c+l)/2)),{fn:d,ticks:f,ok:e=>Number.isFinite(e)&&e>0}}let r=f(e);if(!r)return null;let[i,a]=u(Math.min(0,r[0]),r[1]),o=l([i,a],n);return{fn:o,ticks:o.ticks(5),ok:e=>Number.isFinite(e)}}function Aa(e,t){return t?e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}k`:e.toLocaleString():Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}function ja({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,xLabel:r,yLabel:o,xScale:s=`linear`,yScale:c=`linear`,points:l,gates:u,footer:d,delay:f}){let p=i[t]||i.chart,[m,h]=(0,b.useState)(null),[g,_]=(0,b.useState)(null),v=(0,b.useMemo)(()=>(Array.isArray(u)?u:[]).map((e,t)=>Da(e,t)),[u]),y=(0,b.useMemo)(()=>(Array.isArray(l)?l:[]).map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=n.x,i=n.y;if(typeof r!=`number`||typeof i!=`number`||!Number.isFinite(r)||!Number.isFinite(i))return null;let a=n.gate;return{x:r,y:i,gate:typeof a==`number`&&Number.isInteger(a)&&a>=0&&a<v.length?a:null,srcIdx:t}}).filter(e=>e!==null),[l,v.length]),S=(0,b.useMemo)(()=>{let e=s===`log`,t=c===`log`,n=v.flatMap(e=>e.region.map(e=>e[0])),r=v.flatMap(e=>e.region.map(e=>e[1])),i=y.map(e=>e.x).concat(n),a=y.map(e=>e.y).concat(r),o=Ta.l,l=Ca-Ta.r,u=Ta.t,d=wa-Ta.b,f=ka(i,e,[o,l]),p=ka(a,t,[d,u]);return!f||!p?null:{xAxis:f,yAxis:p,plotL:o,plotR:l,plotT:u,plotB:d,plotted:y.filter(e=>f.ok(e.x)&&p.ok(e.y)),shapes:v.map((e,t)=>{if(!Oa(e))return null;if(e.shape===`ellipse`){let[n,r]=e.region[0],[i,a]=e.region[1];if(!f.ok(n)||!p.ok(r))return null;let o=f.fn(n),s=p.fn(r),c=Math.abs(i),l=Math.abs(a),u=[n+c,n-c].filter(e=>f.ok(e)).map(e=>Math.abs(f.fn(e)-o)),d=[r+l,r-l].filter(e=>p.ok(e)).map(e=>Math.abs(p.fn(e)-s));if(u.length===0||d.length===0)return null;let m=u.reduce((e,t)=>e+t,0)/u.length,h=d.reduce((e,t)=>e+t,0)/d.length;return!(m>0)||!(h>0)?null:{idx:t,gate:e,kind:`ellipse`,cx:o,cy:s,rx:m,ry:h,top:s-h}}let n=e.region.filter(([e,t])=>f.ok(e)&&p.ok(t)).map(([e,t])=>({x:f.fn(e),y:p.fn(t)}));return n.length<3?null:{idx:t,gate:e,kind:`polygon`,points:n,top:Math.min(...n.map(e=>e.y))}}).filter(e=>e!==null),xLog:e,yLog:t}},[v,y,s,c]),C=e=>e===null?`var(--text-faint)`:v[e]?.color||Ea[e%Ea.length],w=m===null?void 0:y.find(e=>e.srcIdx===m);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),v.length>0&&(0,x.jsx)(`div`,{className:`c2-gate-legend`,children:v.map((e,t)=>(0,x.jsxs)(`button`,{type:`button`,className:`c2-gate-leg`+(g===t?` is-on`:``)+(g!==null&&g!==t?` muted`:``),onClick:()=>_(g===t?null:t),children:[(0,x.jsx)(`span`,{className:`c2-gate-swatch`,style:{background:e.color}}),e.name,e.pctOfParent!==null&&(0,x.jsxs)(`span`,{className:`faint`,children:[` · `,e.pctOfParent.toFixed(1),`%`]})]},t))}),S?(0,x.jsx)(`div`,{className:`c2-gate-wrap`,onMouseLeave:()=>h(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Ca} ${wa}`,className:`c2-gate-svg`,role:`img`,"aria-label":e,children:[S.xAxis.ticks.map((e,t)=>(0,x.jsx)(`line`,{x1:S.xAxis.fn(e),y1:S.plotT,x2:S.xAxis.fn(e),y2:S.plotB,className:`c2-gate-grid`},`gx${t}`)),S.yAxis.ticks.map((e,t)=>(0,x.jsx)(`line`,{x1:S.plotL,y1:S.yAxis.fn(e),x2:S.plotR,y2:S.yAxis.fn(e),className:`c2-gate-grid`},`gy${t}`)),(0,x.jsx)(`line`,{x1:S.plotL,y1:S.plotB,x2:S.plotR,y2:S.plotB,className:`c2-gate-axis`}),(0,x.jsx)(`line`,{x1:S.plotL,y1:S.plotT,x2:S.plotL,y2:S.plotB,className:`c2-gate-axis`}),S.xAxis.ticks.map((e,t)=>(0,x.jsx)(`text`,{x:S.xAxis.fn(e),y:S.plotB+13,textAnchor:`middle`,className:`c2-gate-tick`,children:Aa(e,S.xLog)},`xt${t}`)),S.yAxis.ticks.map((e,t)=>(0,x.jsx)(`text`,{x:S.plotL-6,y:S.yAxis.fn(e)+3,textAnchor:`end`,className:`c2-gate-tick`,children:Aa(e,S.yLog)},`yt${t}`)),S.plotted.map(e=>{let t=g!==null&&e.gate!==g,n=m===e.srcIdx;return(0,x.jsx)(`circle`,{cx:S.xAxis.fn(e.x),cy:S.yAxis.fn(e.y),r:n?3.6:2.2,fill:C(e.gate),opacity:t?.15:n?1:.75,onMouseEnter:()=>h(e.srcIdx),className:`c2-gate-pt`},e.srcIdx)}),S.shapes.map(e=>{let t=g!==null&&g!==e.idx,n=[e.gate.name,e.gate.pctOfParent===null?null:`${e.gate.pctOfParent.toFixed(1)}%`].filter(Boolean).join(` · `),r={style:{opacity:t?.2:1,cursor:`pointer`},onClick:()=>_(g===e.idx?null:e.idx)};return(0,x.jsxs)(`g`,{className:`m-fade-rise m-stagger-item`,style:{"--i":e.idx},children:[e.kind===`ellipse`?(0,x.jsx)(`ellipse`,{cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,className:`c2-gate-region`,style:{stroke:e.gate.color,fill:e.gate.color,...r.style},onClick:r.onClick}):(0,x.jsx)(`polygon`,{points:e.points.map(e=>`${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(` `),className:`c2-gate-region`,style:{stroke:e.gate.color,fill:e.gate.color,...r.style},onClick:r.onClick}),(0,x.jsx)(`text`,{x:e.kind===`ellipse`?e.cx:e.points.reduce((e,t)=>e+t.x,0)/e.points.length,y:Math.max(S.plotT+8,e.top-6),textAnchor:`middle`,className:`c2-gate-label`,style:{fill:e.gate.color,opacity:t?.3:1},children:n})]},e.idx)}),(0,x.jsxs)(`text`,{x:(S.plotL+S.plotR)/2,y:wa-6,textAnchor:`middle`,className:`c2-gate-axlbl`,children:[r,S.xLog?` (log)`:``]}),(0,x.jsxs)(`text`,{x:0,y:0,textAnchor:`middle`,className:`c2-gate-axlbl`,transform:`translate(13, ${(S.plotT+S.plotB)/2}) rotate(-90)`,children:[o,S.yLog?` (log)`:``]})]})}):(0,x.jsxs)(`div`,{className:`c2-gate-empty faint`,children:[`No plottable events in `,r,` × `,o,`.`]}),(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:w?(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`span`,{className:`c2-gate-swatch`,style:{background:C(w.gate),display:`inline-block`,verticalAlign:`middle`,marginRight:6}}),w.gate===null?`Ungated`:v[w.gate]?.name,` · (`,w.x.toLocaleString(),`, `,w.y.toLocaleString(),`)`]}):d?(0,x.jsx)(`span`,{dangerouslySetInnerHTML:a(d)}):(0,x.jsx)(`span`,{className:`faint`,children:`Hover an event for its coordinates · click a gate to isolate it`})})]})}var Ma=220,Na=4,Pa=6,Fa=14,Ia=Ma-6,La=40,Ra=70;function za(e){let t=e&&typeof e==`object`?e:{},n=t.pos,r=t.intensity;return typeof n!=`number`||!Number.isFinite(n)||typeof r!=`number`||!Number.isFinite(r)?null:{pos:Math.max(0,Math.min(1,n)),intensity:Math.max(0,Math.min(1,r)),sizeLabel:typeof t.sizeLabel==`string`&&t.sizeLabel.trim()?t.sizeLabel.trim():null}}function Ba(e){return Fa+e*(Ia-Fa)}function Va(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>0).sort((e,t)=>t-e);if(t.length===0)return[];let n=Math.log10(t[t.length-1]),r=Math.log10(t[0]),i=r-n,a=Ia-6;return t.map((e,n)=>({value:e,y:20+(i>0?(r-Math.log10(e))/i:t.length>1?n/(t.length-1):.5)*(a-20)}))}function Ha({lane:e,index:t}){let n=typeof e?.label==`string`&&e.label.trim()?e.label.trim():`Lane ${t+1}`,r=(Array.isArray(e?.bands)?e.bands:[]).map(za).filter(e=>e!==null);return(0,x.jsxs)(`div`,{className:`c2-gel-lane m-fade-rise m-stagger-item`,style:{"--i":t},children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${La} ${Ma}`,width:La,height:Ma,className:`c2-gel-lane-svg`,role:`img`,"aria-label":`${n} lane`,children:[(0,x.jsx)(`rect`,{x:2,y:Na,width:La-4,height:Pa,rx:1.5,className:`c2-gel-well`}),r.map((e,t)=>(0,x.jsx)(`rect`,{x:4,y:Ba(e.pos)-2.5,width:La-8,height:5,rx:2.5,className:`c2-gel-band`,style:{fill:`color-mix(in oklab, var(--gel-band) ${(e.intensity*92).toFixed(0)}%, transparent)`,opacity:.35+e.intensity*.65}},t))]}),(0,x.jsx)(`div`,{className:`c2-gel-lane-label`,children:n}),r.some(e=>e.sizeLabel)&&(0,x.jsx)(`div`,{className:`c2-gel-lane-sizes faint`,children:r.filter(e=>e.sizeLabel).map(e=>e.sizeLabel).join(`, `)})]})}function Ua({ladder:e}){let t=Va(e.marks),n=e.unit===`kDa`?`kDa`:`bp`;return(0,x.jsxs)(`div`,{className:`c2-gel-lane c2-gel-ladder`,children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Ra} ${Ma}`,width:Ra,height:Ma,className:`c2-gel-lane-svg`,role:`img`,"aria-label":`Size ladder`,children:[(0,x.jsx)(`rect`,{x:2,y:Na,width:16,height:Pa,rx:1.5,className:`c2-gel-well`}),t.map((e,t)=>(0,x.jsxs)(`g`,{className:`m-fade-rise m-stagger-item`,style:{"--i":t},children:[(0,x.jsx)(`line`,{x1:3,y1:e.y,x2:14,y2:e.y,className:`c2-gel-tick`}),(0,x.jsxs)(`text`,{x:18,y:e.y+3,className:`c2-gel-tick-lbl`,children:[e.value.toLocaleString(),` `,n]})]},t))]}),(0,x.jsx)(`div`,{className:`c2-gel-lane-label`,children:`Ladder`})]})}function Wa({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,ladder:r,lanes:o,footer:s,delay:c}){let l=i[t]||i.layers,u=Array.isArray(o)?o:[],d=!!r&&typeof r==`object`&&Array.isArray(r.marks)&&r.marks.length>0;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),u.length===0&&!d?(0,x.jsx)(`p`,{className:`c2-gel-empty faint`,children:`No lanes to show.`}):(0,x.jsx)(`div`,{className:`c2-gel-panel`,children:(0,x.jsxs)(`div`,{className:`c2-gel-scroll`,children:[d&&(0,x.jsx)(Ua,{ladder:r}),u.map((e,t)=>(0,x.jsx)(Ha,{lane:e,index:t},t))]})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var Ga=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`,`var(--text-muted)`];function Ka({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,channels:r,flights:o,totalBudget:c,currency:l=`USD`,footer:u,delay:d}){let f=i[t]||i.clock,[p,m]=(0,b.useState)(null),g=(0,b.useMemo)(()=>{let e=Array.isArray(r)?r:[],t=Array.isArray(o)?o:[],n=[],i=new Set;for(let t of e){let e=typeof t?.name==`string`?t.name.trim():``;e&&!i.has(e)&&(i.add(e),n.push(e))}for(let e of t){let t=typeof e?.channel==`string`?e.channel.trim():``;t&&!i.has(t)&&(i.add(t),n.push(t))}let a=new Map(n.map((e,t)=>[e,t])),s=n.map((t,n)=>({name:t,color:e.find(e=>e?.name===t)?.color||Ga[n%Ga.length]})),l=[],u=0;for(let e of t){let t=typeof e?.channel==`string`?e.channel.trim():``,n=a.get(t);if(n===void 0)continue;let r=Number.isFinite(e.start)&&e.start>=0?e.start:0,i=Number.isFinite(e.span)&&e.span>0?e.span:1,o=Number.isFinite(e.budget)&&e.budget>0?e.budget:0;l.push({lane:n,start:r,span:i,budget:o}),u=Math.max(u,r+i)}let d=Math.max(1,Math.ceil(u)),f=Math.max(1,...l.map(e=>e.budget)),p=l.reduce((e,t)=>e+t.budget,0);return{lanes:s,placed:l,periods:d,maxBudget:f,spend:Number.isFinite(c)&&c>0?c:p}},[r,o,c]),v=_(g.spend,{delay:d??0,format:e=>s(e,{currency:l,compact:e>=1e5})});if(g.lanes.length===0)return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]});let y=100/g.periods;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-fc`,onMouseLeave:()=>m(null),children:g.lanes.map((e,t)=>(0,x.jsxs)(`div`,{className:`c2-fc-line`,children:[(0,x.jsx)(`div`,{className:`c2-fc-name`,title:e.name,children:e.name}),(0,x.jsxs)(`div`,{className:`c2-fc-track`,children:[[...Array(g.periods+1)].map((e,t)=>(0,x.jsx)(`span`,{className:`c2-fc-grid`,style:{left:`${t*y}%`}},t)),g.placed.map((n,r)=>{if(n.lane!==t)return null;let i=n.start*y,a=n.span*y,o=Math.max(18,Math.round(n.budget/g.maxBudget*100));return(0,x.jsxs)(`button`,{type:`button`,className:`c2-fc-bar m-stagger-item m-scale-in`+(p===r?` on`:``),style:{left:`${i}%`,width:`${a}%`,borderColor:e.color,"--i":r,"--scale-from":0},onMouseEnter:()=>m(r),onFocus:()=>m(r),children:[(0,x.jsx)(`span`,{className:`c2-fc-fill`,style:{width:`${o}%`,background:e.color}}),(0,x.jsx)(`span`,{className:`c2-fc-amt tab-num`,children:s(n.budget,{currency:l,compact:!0})})]},r)})]})]},t))}),(0,x.jsxs)(`div`,{className:`c2-fc-total`,children:[(0,x.jsx)(`span`,{className:`c2-fc-total-lbl faint`,children:`Total spend`}),(0,x.jsx)(`span`,{className:`c2-fc-total-val tab-num mono`,children:v})]}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}function qa({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,role:r,min:o,mid:c,max:l,markers:u,currency:d=`USD`,footer:f,delay:p}){let m=i[t]||i.chart,[h,g]=(0,b.useState)(null),_=(0,b.useMemo)(()=>{let e=Number.isFinite(o)?o:0,t=Number.isFinite(l)?l:e+1,n=t>e?t:e+1,r=Number.isFinite(c)?Math.min(Math.max(c,e),n):(e+n)/2,i=n-e,a=t=>(t-e)/i*100,s=(Array.isArray(u)?u:[]).map(e=>{let t=typeof e?.name==`string`&&e.name.trim()?e.name.trim():`Unnamed`,n=e?.flag===!0,r=typeof e?.value==`number`&&Number.isFinite(e.value)?e.value:NaN;return{name:t,value:r,flag:n,pct:Number.isFinite(r)?Math.min(100,Math.max(0,a(r))):null}});return{bandMin:e,bandMid:r,bandMax:n,midPct:a(r),list:s}},[o,c,l,u]),v=e=>s(e,{currency:d,compact:!0});return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(p||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-pb-head`,children:[(0,x.jsx)(`span`,{className:`c2-pb-role`,children:r}),(0,x.jsxs)(`span`,{className:`c2-pb-range tab-num mono faint`,children:[v(_.bandMin),` – `,v(_.bandMax)]})]}),(0,x.jsxs)(`div`,{className:`c2-pb`,onMouseLeave:()=>g(null),children:[(0,x.jsxs)(`div`,{className:`c2-pb-track`,children:[(0,x.jsx)(`span`,{className:`c2-pb-band c2-pb-band-lo`,style:{width:`${_.midPct}%`}}),(0,x.jsx)(`span`,{className:`c2-pb-band c2-pb-band-hi`,style:{left:`${_.midPct}%`,width:`${100-_.midPct}%`}}),(0,x.jsx)(`span`,{className:`c2-pb-mid`,style:{left:`${_.midPct}%`},title:`Midpoint ${v(_.bandMid)}`}),_.list.map((e,t)=>{if(e.pct===null)return null;let n=h===t;return(0,x.jsx)(`button`,{type:`button`,className:`c2-pb-marker m-stagger-item m-scale-in`+(e.flag?` flagged`:``)+(n?` on`:``),style:{left:`${e.pct}%`,"--i":t},onMouseEnter:()=>g(t),onFocus:()=>g(t),"aria-label":`${e.name}: ${Number.isFinite(e.value)?v(e.value):`no value`}`,children:n&&(0,x.jsxs)(`span`,{className:`c2-pb-tip`,children:[(0,x.jsx)(`b`,{children:e.name}),(0,x.jsx)(`span`,{className:`tab-num mono`,children:Number.isFinite(e.value)?v(e.value):`—`}),e.flag&&(0,x.jsx)(`span`,{className:`c2-pb-tip-flag`,children:`equity watch`})]})},t)})]}),(0,x.jsxs)(`div`,{className:`c2-pb-ticks`,children:[(0,x.jsxs)(`span`,{className:`c2-pb-tick`,style:{left:`0%`},children:[`Min · `,v(_.bandMin)]}),(0,x.jsxs)(`span`,{className:`c2-pb-tick c2-pb-tick-mid`,style:{left:`${_.midPct}%`},children:[`Mid · `,v(_.bandMid)]}),(0,x.jsxs)(`span`,{className:`c2-pb-tick c2-pb-tick-end`,style:{left:`100%`},children:[`Max · `,v(_.bandMax)]})]})]}),_.list.length>0&&(0,x.jsx)(`div`,{className:`c2-pb-legend`,children:_.list.map((e,t)=>(0,x.jsxs)(`button`,{type:`button`,className:`c2-pb-leg`+(e.flag?` flagged`:``)+(h===t?` on`:``),onMouseEnter:()=>g(t),onMouseLeave:()=>g(null),children:[(0,x.jsx)(`i`,{style:{background:e.flag?`var(--warning)`:`var(--presence)`}}),(0,x.jsx)(`span`,{className:`c2-pb-leg-name`,children:e.name}),(0,x.jsx)(`span`,{className:`tab-num mono c2-pb-leg-val`,children:Number.isFinite(e.value)?v(e.value):`—`})]},t))}),f&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}var Ja=360,Ya=230,Xa={top:16,right:54,bottom:34,left:40},Za=52,Qa=7;function $a({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,takt:r,unit:o=``,stations:c,footer:d,delay:f}){let m=i[t]||i.chart,[g,_]=(0,b.useState)(null),v=Number.isFinite(r)&&r>0,y=(0,b.useMemo)(()=>{let e=(Array.isArray(c)?c:[]).map(e=>{let t=Number.isFinite(e?.cycleTime)&&e.cycleTime>=0?e.cycleTime:0,n=v&&t>r;return{name:typeof e?.name==`string`&&e.name.trim()?e.name.trim():`Station`,cycleTime:t,isBottleneck:n||e?.bottleneck===!0}}),t=e.length>Qa,n=t?Za:Xa.bottom,i=Ja-Xa.left-Xa.right,a=Ya-Xa.top-n,o=e.reduce((e,t)=>Math.max(e,t.cycleTime),0),[,s]=u(0,Math.max(o,v?r:0,1)),d=l([0,s],[a,0]),f=i/Math.max(1,e.length);return{list:e,rotateLabels:t,padB:n,innerW:i,innerH:a,sy:d,sx:e=>e*f+f/2,bandW:f,yTicks:d.ticks(4)}},[c,r,v]);if(!p(y.list.map(e=>e.cycleTime)))return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]});let S=v?y.sy(r):null,C=e=>s(e,{unit:o||void 0,decimals:1});return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-lb-wrap`,onMouseLeave:()=>_(null),children:(0,x.jsx)(`svg`,{role:`img`,"aria-label":e,viewBox:`0 0 ${Ja} ${Ya}`,className:`c2-lb-svg`,children:(0,x.jsxs)(`g`,{transform:`translate(${Xa.left},${Xa.top})`,children:[y.yTicks.map((e,t)=>(0,x.jsx)(`line`,{x1:0,y1:y.sy(e),x2:y.innerW,y2:y.sy(e),className:`cx-grid-l`},t)),y.yTicks.map((e,t)=>(0,x.jsx)(`text`,{x:-6,y:y.sy(e)+3,className:`cx-tick`,textAnchor:`end`,children:s(e)},t)),y.list.map((e,t)=>{let n=y.innerH-y.sy(e.cycleTime),r=y.bandW*.55,i=y.sx(t)-r/2,a=y.sy(e.cycleTime),o=g===t;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:i,y:a,width:r,height:Math.max(0,n),rx:2.5,className:`c2-lb-bar m-stagger-item m-fade-rise`+(e.isBottleneck?` c2-lb-bar-warn`:``)+(o?` on`:``),style:{"--i":t},onMouseEnter:()=>_(t)}),e.isBottleneck&&(0,x.jsx)(`text`,{x:y.sx(t),y:Math.max(a-5,9),textAnchor:`middle`,className:`c2-lb-flag`,children:`bottleneck`}),o&&(0,x.jsxs)(`g`,{transform:`translate(${Math.min(Math.max(y.sx(t),30),y.innerW-30)},${Math.max(a-(e.isBottleneck?20:8),2)})`,children:[(0,x.jsx)(`rect`,{className:`c2-lb-tip-bg`,x:-30,y:-24,width:60,height:20,rx:4}),(0,x.jsx)(`text`,{className:`c2-lb-tip-val`,x:0,y:-10,textAnchor:`middle`,children:C(e.cycleTime)})]})]},t)}),S!==null&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`line`,{x1:0,y1:S,x2:y.innerW,y2:S,className:`c2-lb-takt`}),(0,x.jsxs)(`text`,{x:y.innerW+4,y:S+3,className:`c2-lb-takt-lbl`,children:[`Takt · `,C(r)]})]}),(0,x.jsx)(`line`,{x1:0,y1:y.innerH,x2:y.innerW,y2:y.innerH,className:`cx-axis-l`}),y.list.map((e,t)=>{let n=y.sx(t),r=y.innerH+(y.rotateLabels?8:14);return(0,x.jsx)(`text`,{x:n,y:r,className:`cx-tick`,textAnchor:y.rotateLabels?`end`:`middle`,transform:y.rotateLabels?`rotate(-40, ${n}, ${r})`:void 0,children:e.name},t)})]})})}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(d)})]})}var eo=[`confirmed`,`probable`,`suspected`,`unclassified`],to={confirmed:`Confirmed`,probable:`Probable`,suspected:`Suspected`,unclassified:`Unclassified`},no={confirmed:`var(--danger)`,probable:`var(--warning)`,suspected:`var(--presence-soft)`,unclassified:`var(--text-muted)`},ro=new Set([`confirmed`,`probable`,`suspected`]),io=380,ao=230,oo={top:16,right:20,bottom:34,left:40},so=52,co=8,lo=12;function uo(e){return e.length>lo?`${e.slice(0,lo-1).trimEnd()}…`:e}function fo({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,cases:r,threshold:o,phases:c,footer:d,delay:f}){let g=i[t]||i.chart,[_,v]=(0,b.useState)(null),y=(0,b.useMemo)(()=>{let e=[],t=new Map;for(let n of Array.isArray(r)?r:[]){let r=typeof n?.period==`string`&&n.period.trim()?n.period.trim():``;if(!r)continue;t.has(r)||(t.set(r,{}),e.push(r));let i=ro.has(n?.classification)?n.classification:`unclassified`,a=Number.isFinite(n?.count)&&n.count>=0?n.count:0,o=t.get(r);o[i]=(o[i]??0)+a}let n=e.map(e=>{let n=t.get(e)??{};return{period:e,segments:n,total:eo.reduce((e,t)=>e+(n[t]??0),0)}}),i=eo.filter(e=>n.some(t=>(t.segments[e]??0)>0)),a=n.length>co,s=a?so:oo.bottom,d=io-oo.left-oo.right,f=ao-oo.top-s,p=Number.isFinite(o?.value)&&o?.value>0,m=n.reduce((e,t)=>Math.max(e,t.total),0),[,h]=u(0,Math.max(m,p?o.value:0,1)),g=l([0,h],[f,0]),_=d/Math.max(1,n.length),v=e=>e*_+_/2,y=new Map(e.map((e,t)=>[e,t])),b=(Array.isArray(c)?c:[]).map(e=>{let t=typeof e?.label==`string`&&e.label.trim()?e.label.trim():``,n=y.get(typeof e?.period==`string`?e.period.trim():``);return!t||n===void 0?null:{label:t,x:v(n)}}).filter(e=>e!==null);return{periods:n,presentClasses:i,rotateLabels:a,padB:s,innerW:d,innerH:f,sy:g,sx:v,bandW:_,yTicks:g.ticks(4),thresholdValid:p,phaseList:b}},[r,o,c]);if(!p(y.periods.map(e=>e.total)))return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]});let S=y.thresholdValid?y.sy(o.value):null;return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-ec-wrap`,onMouseLeave:()=>v(null),children:(0,x.jsx)(`svg`,{role:`img`,"aria-label":e,viewBox:`0 0 ${io} ${ao}`,className:`c2-ec-svg`,children:(0,x.jsxs)(`g`,{transform:`translate(${oo.left},${oo.top})`,children:[y.yTicks.map((e,t)=>(0,x.jsx)(`line`,{x1:0,y1:y.sy(e),x2:y.innerW,y2:y.sy(e),className:`cx-grid-l`},t)),y.yTicks.map((e,t)=>(0,x.jsx)(`text`,{x:-6,y:y.sy(e)+3,className:`cx-tick`,textAnchor:`end`,children:s(e)},t)),y.phaseList.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:e.x,y1:0,x2:e.x,y2:y.innerH,className:`c2-ec-phase`}),(0,x.jsxs)(`text`,{x:0,y:0,className:`c2-ec-phase-lbl`,transform:`translate(${e.x-5},${y.innerH}) rotate(-90)`,children:[(0,x.jsx)(`title`,{children:e.label}),uo(e.label)]})]},t)),y.periods.map((e,t)=>{let n=_===t,r=y.innerH,i=y.bandW*.62,a=y.sx(t)-i/2;return(0,x.jsxs)(`g`,{className:`m-stagger-item m-fade-rise`,style:{"--i":t},onMouseEnter:()=>v(t),children:[eo.map(t=>{let o=e.segments[t]??0;if(o<=0)return null;let s=y.innerH-y.sy(o);return r-=s,(0,x.jsx)(`rect`,{x:a,y:r,width:i,height:Math.max(0,s),className:`c2-ec-seg`+(n?` on`:``),fill:no[t]},t)}),n&&(0,x.jsxs)(`g`,{transform:`translate(${Math.min(Math.max(y.sx(t),34),y.innerW-34)},${Math.max(r-8,2)})`,children:[(0,x.jsx)(`rect`,{className:`c2-ec-tip-bg`,x:-34,y:-24,width:68,height:20,rx:4}),(0,x.jsxs)(`text`,{className:`c2-ec-tip-val`,x:0,y:-10,textAnchor:`middle`,children:[e.total.toLocaleString(),` cases`]})]})]},t)}),S!==null&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`line`,{x1:0,y1:S,x2:y.innerW,y2:S,className:`c2-ec-threshold`}),(0,x.jsx)(`text`,{x:y.innerW,y:S-4,className:`c2-ec-threshold-lbl`,textAnchor:`end`,children:o?.label||`Threshold`})]}),(0,x.jsx)(`line`,{x1:0,y1:y.innerH,x2:y.innerW,y2:y.innerH,className:`cx-axis-l`}),y.periods.map((e,t)=>{let n=y.sx(t),r=y.innerH+(y.rotateLabels?8:14);return(0,x.jsx)(`text`,{x:n,y:r,className:`cx-tick`,textAnchor:y.rotateLabels?`end`:`middle`,transform:y.rotateLabels?`rotate(-40, ${n}, ${r})`:void 0,children:e.period},t)})]})})}),(0,x.jsx)(m,{items:y.presentClasses.map(e=>({label:to[e],color:no[e]}))}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(d)})]})}var po=340,mo=220,Q={l:34,r:38,t:14,b:28},ho=42,go=6,_o=10;function vo(e){return e.length>_o?`${e.slice(0,_o-1).trimEnd()}…`:e}function yo({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,bars:r,cumulative:o=!0,unit:c=``,footer:d,delay:m}){let g=i[t]||i.chart,[_,v]=(0,b.useState)(null),y=(0,b.useMemo)(()=>{let e=(Array.isArray(r)?r:[]).map(e=>({label:typeof e?.label==`string`&&e.label.trim()?e.label.trim():`—`,value:Number.isFinite(e?.value)&&e.value>=0?e.value:0})).sort((e,t)=>t.value-e.value),t=e.reduce((e,t)=>e+t.value,0),n=0,i=e.map(e=>(n+=e.value,{...e,cumPct:t>0?n/t*100:0})),a=i.length>go,o=a?ho:Q.b,s=f(i.map(e=>e.value)),[,c]=u(0,s?Math.max(s[1],0):1),d=e=>Q.l+(e+.5)/Math.max(1,i.length)*(po-Q.l-Q.r),p=l([0,c],[mo-o,Q.t]);return{rows:i,rotateLabels:a,padB:o,sxBand:d,syL:p,syR:l([0,100],[mo-o,Q.t]),vTicks:p.ticks(4)}},[r]);if(!p(y.rows.map(e=>e.value)))return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(m||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]});let{rows:S,sxBand:C,syL:w,syR:T,vTicks:E,rotateLabels:D,padB:O}=y,k=(po-Q.l-Q.r)/Math.max(1,S.length)*.6,A=S.map((e,t)=>`${C(t)},${T(e.cumPct)}`).join(` `),j=T(80),M=S.findIndex(e=>e.cumPct>=80);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(m||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-pt`,onMouseLeave:()=>v(null),children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${po} ${mo}`,className:`c2-pt-svg`,role:`img`,"aria-label":e,children:[E.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:Q.l,y1:w(e),x2:po-Q.r,y2:w(e),className:`cx-grid-l`}),(0,x.jsx)(`text`,{x:Q.l-4,y:w(e)+3,className:`cx-tick`,textAnchor:`end`,children:s(e)})]},`l${t}`)),[0,20,40,60,80,100].map(e=>(0,x.jsxs)(`text`,{x:po-Q.r+4,y:T(e)+3,className:`cx-tick`,textAnchor:`start`,children:[e,`%`]},`r${e}`)),o&&(0,x.jsx)(`line`,{x1:Q.l,y1:j,x2:po-Q.r,y2:j,className:`c2-pt-guide`}),S.map((e,t)=>(0,x.jsx)(`rect`,{x:C(t)-k/2,y:w(e.value),width:k,height:Math.max(0,w(0)-w(e.value)),rx:2,className:`c2-pt-bar m-stagger-item m-fade-rise`+(M>=0&&t<=M?` c2-pt-bar-vital`:``)+(_===t?` on`:``),style:{"--i":t},onMouseEnter:()=>v(t)},t)),o&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`polyline`,{points:A,className:`c2-pt-line`}),S.map((e,t)=>(0,x.jsx)(`circle`,{cx:C(t),cy:T(e.cumPct),r:_===t?4:2.6,className:`c2-pt-dot`,onMouseEnter:()=>v(t)},`c${t}`))]}),S.map((e,t)=>{let n=D?vo(e.label):e.label,r=D&&e.label.length>_o,i=C(t),a=mo-O+(D?8:14);return(0,x.jsxs)(`text`,{x:i,y:a,className:`cx-tick`,textAnchor:D?`end`:`middle`,transform:D?`rotate(-40, ${i}, ${a})`:void 0,children:[r&&(0,x.jsx)(`title`,{children:e.label}),n]},`t${t}`)}),_!=null&&(0,x.jsxs)(`text`,{x:C(_),y:Q.t,className:`c2-pt-tip`,textAnchor:`middle`,children:[s(S[_].value,{unit:c||void 0}),` ·`,` `,S[_].cumPct.toFixed(0),`% cum.`]})]})}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(d)})]})}function bo({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,bands:r,leftLabel:o,rightLabel:c,unit:l=``,footer:u,delay:d}){let f=i[t]||i.chart,[m,g]=(0,b.useState)(null),_=(0,b.useMemo)(()=>{let e=(Array.isArray(r)?r:[]).map(e=>({label:typeof e?.label==`string`&&e.label.trim()?e.label.trim():`—`,left:Number.isFinite(e?.left)&&e.left>=0?e.left:0,right:Number.isFinite(e?.right)&&e.right>=0?e.right:0}));return{list:e,maxVal:e.reduce((e,t)=>Math.max(e,t.left,t.right),0)||1}},[r]);if(!p(_.list.flatMap(e=>[e.left,e.right])))return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]});let v=typeof o==`string`&&o.trim()?o:`Left`,y=typeof c==`string`&&c.trim()?c:`Right`,S=e=>s(e,{unit:l||void 0,compact:_.maxVal>=1e5}),C=e=>Math.min(100,e/_.maxVal*100);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-pp-head`,children:[(0,x.jsx)(`span`,{className:`c2-pp-head-lbl left`,children:v}),(0,x.jsx)(`span`,{className:`c2-pp-head-lbl right`,children:y})]}),(0,x.jsx)(`div`,{className:`c2-pp`,onMouseLeave:()=>g(null),children:_.list.map((e,t)=>(0,x.jsxs)(`div`,{className:`c2-pp-row`+(m===t?` on`:``),onMouseEnter:()=>g(t),children:[(0,x.jsx)(`span`,{className:`c2-pp-val left tab-num mono`,children:S(e.left)}),(0,x.jsx)(`div`,{className:`c2-pp-track left`,children:(0,x.jsx)(`span`,{className:`c2-pp-bar left m-stagger-item m-scale-in`,style:{width:`${C(e.left)}%`,"--i":t}})}),(0,x.jsx)(`span`,{className:`c2-pp-band-lbl`,children:e.label}),(0,x.jsx)(`div`,{className:`c2-pp-track right`,children:(0,x.jsx)(`span`,{className:`c2-pp-bar right m-stagger-item m-scale-in`,style:{width:`${C(e.right)}%`,"--i":t}})}),(0,x.jsx)(`span`,{className:`c2-pp-val right tab-num mono`,children:S(e.right)})]},t))}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}var xo=380,So=220,Co={top:22,right:16,bottom:30,left:16},wo=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`,`var(--danger)`];function To({title:e,icon:t=`sliders`,iconColor:n=`var(--presence)`,axes:r,lines:o,footer:c,delay:d}){let p=i[t]||i.chart,[g,_]=(0,b.useState)(null),v=(0,b.useMemo)(()=>{let e=Array.isArray(o)?o:[],t=xo-Co.left-Co.right,n=So-Co.top-Co.bottom,i=(Array.isArray(r)?r:[]).filter(e=>typeof e?.key==`string`&&e.key.trim().length>0),a=i.length,s=i.map((n,r)=>{let i=Co.left+(a>1?r/(a-1)*t:t/2),o=Array.isArray(n.domain)&&n.domain.length===2&&Number.isFinite(n.domain[0])&&Number.isFinite(n.domain[1])&&n.domain[1]>n.domain[0]?n.domain:null,s,c;if(o)[s,c]=o;else{let t=f(e.map(e=>e?.values?.[n.key]).filter(e=>typeof e==`number`&&Number.isFinite(e)));[s,c]=u(t?t[0]:0,t?t[1]:1)}let l=typeof n.label==`string`&&n.label.trim()?n.label.trim():n.key;return{key:n.key,label:l,x:i,lo:s,hi:c}}),c=e=>l([e.lo,e.hi],[n,0]);return{innerH:n,axisList:s,paths:e.map((e,t)=>{let n=e?.color||wo[t%wo.length],r=typeof e?.label==`string`&&e.label.trim()?e.label.trim():`Series`,i=s.map(t=>{let n=e?.values?.[t.key];return typeof n!=`number`||!Number.isFinite(n)?null:{x:t.x,y:c(t)(n)}}).filter(e=>e!==null);return{label:r,color:n,d:i.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`).join(` `),hasPoints:i.length>0}})}},[r,o]);return v.axisList.length===0||!v.paths.some(e=>e.hasPoints)?(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]}):(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-pc-wrap`,children:(0,x.jsx)(`svg`,{role:`img`,"aria-label":e,viewBox:`0 0 ${xo} ${So}`,className:`c2-pc-svg`,children:(0,x.jsxs)(`g`,{transform:`translate(0,${Co.top})`,children:[v.axisList.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:e.x,y1:0,x2:e.x,y2:v.innerH,className:`c2-pc-axis`}),(0,x.jsx)(`text`,{x:e.x,y:-15,className:`c2-pc-alabel`,textAnchor:`middle`,children:e.label}),(0,x.jsx)(`text`,{x:e.x,y:-4,className:`c2-pc-atick`,textAnchor:`middle`,children:s(e.hi)}),(0,x.jsx)(`text`,{x:e.x,y:v.innerH+12,className:`c2-pc-atick`,textAnchor:`middle`,children:s(e.lo)})]},t)),v.paths.map((e,t)=>{let n=g===t,r=g!==null&&!n;return(0,x.jsx)(`path`,{d:e.d,fill:`none`,stroke:e.color,strokeWidth:n?2.75:1.75,strokeLinejoin:`round`,strokeOpacity:r?.18:.85,className:`c2-pc-line m-fade-rise m-stagger-item`,style:{"--i":t},onMouseEnter:()=>_(t),onMouseLeave:()=>_(null)},t)})]})})}),(0,x.jsx)(m,{items:v.paths.map(e=>({label:e.label,color:e.color})),active:g,onHover:_}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(c)})]})}var Eo=64,Do=5;function Oo(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:null}function ko({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,vars:r,rows:o,color:s=`var(--presence)`,footer:c,delay:u}){let d=i[t]||i.table,[p,m]=(0,b.useState)(null),g=(0,b.useMemo)(()=>{let e=(Array.isArray(r)?r:[]).filter(e=>typeof e==`string`&&e.trim().length>0),t=Array.isArray(o)?o:[],n=new Map,i=!1;for(let r of e){let e=t.map(e=>Oo(e,r)).filter(e=>e!==null);e.length>0&&(i=!0);let a=f(e);n.set(r,a?{lo:a[0],hi:a[1]}:{lo:0,hi:1})}return{varList:e,rowList:t,domains:n,hasAnyPoint:i}},[r,o]),_=g.varList.length,v=(0,b.useMemo)(()=>g.varList.flatMap((e,t)=>g.varList.map((n,r)=>{let i=`${t}-${r}`;if(t===r)return{key:i,ri:t,ci:r,isDiag:!0,rowVar:e,colVar:n,circles:null};let a=g.domains.get(n)??{lo:0,hi:1},o=g.domains.get(e)??{lo:0,hi:1},s=l([a.lo,a.hi],[Do,Eo-Do]),c=l([o.lo,o.hi],[Eo-Do,Do]);return{key:i,ri:t,ci:r,isDiag:!1,rowVar:e,colVar:n,circles:g.rowList.flatMap((t,r)=>{let i=Oo(t,n),a=Oo(t,e);return i===null||a===null?[]:[{k:r,cx:s(i),cy:c(a)}]})}})),[g]);return _===0||!g.hasAnyPoint?(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]}):(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`c2-spm`,style:{"--n":_},onMouseLeave:()=>m(null),children:v.map(e=>e.isDiag?(0,x.jsx)(`div`,{className:`c2-spm-diag`,children:(0,x.jsx)(`span`,{children:e.rowVar})},e.key):(0,x.jsx)(`div`,{className:`c2-spm-cell m-fade-rise m-stagger-item`+(p===e.key?` on`:``),style:{"--i":e.ri*_+e.ci},onMouseEnter:()=>m(e.key),title:`${e.colVar} vs ${e.rowVar}`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Eo} ${Eo}`,className:`c2-spm-svg`,children:[(0,x.jsx)(`rect`,{x:.5,y:.5,width:Eo-1,height:Eo-1,className:`c2-spm-frame`}),e.circles.map(({k:e,cx:t,cy:n})=>(0,x.jsx)(`circle`,{cx:t,cy:n,r:1.6,className:`c2-spm-dot`,fill:s},e))]})},e.key))}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(c)})]})}var Ao=`sparkle`,jo=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`,`var(--danger)`];function Mo({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,categories:r,unitValue:o,footer:s,delay:c}){let l=i[t]||i.layers,[u,d]=(0,b.useState)(null),f=(0,b.useMemo)(()=>{let e=(Array.isArray(r)?r:[]).map((e,t)=>({label:typeof e?.label==`string`&&e.label.trim()?e.label.trim():`Category`,count:Number.isFinite(e?.count)&&e.count>0?e.count:0,color:e?.color||jo[t%jo.length],iconKey:typeof e?.icon==`string`&&e.icon in i?e.icon:Ao})),t=e.reduce((e,t)=>e+t.count,0),n=Number.isFinite(o)&&o>0?o:Math.max(1,Math.ceil(t/100)||1),a=[];for(let t of e){if(t.count<=0)continue;let e=Math.round(t.count/n);for(let n=0;n<e&&a.length<100;n++)a.push({cat:t.label,color:t.color,icon:t.iconKey})}for(;a.length<100;)a.push({cat:``,color:`var(--cell-empty)`,icon:null});return{list:e,total:t,unit:n,cells:a.slice(0,100)}},[r,o]);return p(f.list.map(e=>e.count))?(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`c2-pic-wrap`,children:[(0,x.jsx)(`div`,{className:`c2-pic-grid`,onMouseLeave:()=>d(null),children:f.cells.map((e,t)=>{let n=!e.cat,r=u===e.cat,a=u!=null&&!r&&!n;if(n)return(0,x.jsx)(`span`,{className:`c2-pic-cell c2-pic-cell-empty`},t);let o=e.icon?i[e.icon]:i[Ao];return(0,x.jsx)(`span`,{className:`c2-pic-cell m-stagger-item m-scale-in`,style:{color:e.color,opacity:a?.22:1,transform:r?`scale(1.12)`:void 0,"--i":t,"--stagger":`4ms`},onMouseEnter:()=>d(e.cat),children:(0,x.jsx)(o,{className:`c2-pic-glyph`})},t)})}),(0,x.jsx)(`div`,{className:`c2-pic-legend`,children:f.list.map(e=>{if(e.count<=0)return null;let t=u===e.label,n=i[e.iconKey],r=f.total>0?e.count/f.total*100:0;return(0,x.jsxs)(`button`,{type:`button`,className:`c2-pic-leg`+(t?` on`:``),onMouseEnter:()=>d(e.label),onMouseLeave:()=>d(null),children:[(0,x.jsx)(n,{className:`c2-pic-leg-ic`,style:{color:e.color}}),(0,x.jsx)(`span`,{className:`c2-pic-leg-name`,children:e.label}),(0,x.jsxs)(`span`,{className:`tab-num mono c2-pic-leg-val`,children:[e.count.toLocaleString(),` · `,Math.round(r),`%`]})]},e.label)})})]}),(0,x.jsxs)(`div`,{className:`c2-pic-key faint`,children:[`1 glyph = `,f.unit.toLocaleString(),` unit`,f.unit===1?``:`s`]}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]}):(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{})]})}var No=380,Po=300,Fo=46,Io=16,Lo=34,Ro=46,zo=14,Bo={"main-sequence":`var(--presence)`,giant:`var(--warning)`,supergiant:`var(--danger)`,"white-dwarf":`var(--presence-soft)`},Vo={"main-sequence":3.2,giant:4.2,supergiant:5.2,"white-dwarf":2.4},Ho=[{cls:`O`,lo:3e4,hi:5e4},{cls:`B`,lo:1e4,hi:3e4},{cls:`A`,lo:7500,hi:1e4},{cls:`F`,lo:6e3,hi:7500},{cls:`G`,lo:5200,hi:6e3},{cls:`K`,lo:3700,hi:5200},{cls:`M`,lo:2400,hi:3700}],Uo={t:4.48,l:4.8},Wo={t:3.45,l:-2.8},Go=[{label:`Giants`,t:3.64,l:2.2,dt:.16,dl:1,tint:`var(--warning)`},{label:`Supergiants`,t:3.95,l:4.9,dt:.45,dl:.75,tint:`var(--danger)`},{label:`White dwarfs`,t:4.15,l:-2.7,dt:.26,dl:.9,tint:`var(--presence-soft)`}],Ko={tempK:5772,luminosity:1};function qo(e){return e>=1e3?`${Math.round(e/100)/10}k`:String(Math.round(e))}function Jo(e){return Number.isFinite(e)?e>=100?Math.round(e).toLocaleString(`en-US`):e>=1?(Math.round(e*10)/10).toString():e.toPrecision(2):``}function Yo({title:e,icon:t=`sun`,iconColor:n=`var(--presence)`,stars:r,showRegions:o=!0,highlight:s,footer:c,delay:u}){let d=i[t]||i.sun,f=(0,b.useId)(),[p,m]=(0,b.useState)(null),g=(0,b.useMemo)(()=>(Array.isArray(r)?r:[]).map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=typeof n.tempK==`number`?n.tempK:NaN,i=typeof n.luminosity==`number`?n.luminosity:NaN;if(!Number.isFinite(r)||r<=0||!Number.isFinite(i)||i<=0)return null;let a=typeof n.stage==`string`&&n.stage in Bo?n.stage:void 0;return{name:typeof n.name==`string`&&n.name.trim()?n.name.trim():`Star ${t+1}`,tempK:r,luminosity:i,stage:a,logT:Math.log10(r),logL:Math.log10(i)}}).filter(e=>e!==null),[r]),_=(0,b.useMemo)(()=>{if(g.length===0)return null;let e=Math.max(3e4,...g.map(e=>e.tempK)),t=Math.min(2500,...g.map(e=>e.tempK)),n=Math.floor(Math.min(0,...g.map(e=>e.logL))),r=Math.ceil(Math.max(0,...g.map(e=>e.logL)));r===n&&(r=n+1);let i=l([Math.log10(e),Math.log10(t)],[Fo,No-Io]),a=l([n,r],[Po-Ro,Lo]),o=[5e4,3e4,2e4,1e4,6e3,4e3,3e3].filter(n=>n>=t&&n<=e),s=Math.max(1,Math.ceil((r-n)/8)),c=[];for(let e=n;e<=r;e+=s)c.push(e);let u=Ho.flatMap(n=>{let r=Math.max(n.lo,t),a=Math.min(n.hi,e);if(r>=a||Math.abs(i(Math.log10(a))-i(Math.log10(r)))<13)return[];let o=(Math.log10(r)+Math.log10(a))/2,s=i(Math.log10(n.hi)),c=n.hi<=e&&s>49&&s<No-Io-3?s:null;return[{cls:n.cls,x:i(o),edge:c}]}),d=e=>Math.max(Fo,Math.min(No-Io,e)),f=e=>Math.max(Lo,Math.min(Po-Ro,e)),p=g.map((e,t)=>({...e,i:t,x:d(i(e.logT)),y:f(a(e.logL)),r:e.stage?Vo[e.stage]:3.2,color:e.stage?Bo[e.stage]:`var(--text-muted)`})),m={x1:i(Uo.t),y1:a(Uo.l),x2:i(Wo.t),y2:a(Wo.l)},h=Math.atan2(m.y2-m.y1,m.x2-m.x1)*180/Math.PI,_=(e,t)=>e>54&&e<No-Io-8&&t>42&&t<Po-Ro-8;return{sx:i,sy:a,tempTicks:o,lumTicks:c,bands:u,pts:p,ms:m,msAngle:h,ellipses:Go.map(e=>{let t=i(e.t),n=a(e.l);return{label:e.label,tint:e.tint,cx:t,cy:n,rx:Math.abs(i(e.t+e.dt)-i(e.t-e.dt))/2,ry:Math.abs(a(e.l+e.dl)-a(e.l-e.dl))/2,labeled:_(t,n)}}),sun:{x:i(Math.log10(Ko.tempK)),y:a(0)}}},[g]),v=(0,b.useMemo)(()=>{if(!_||typeof s!=`string`||!s.trim())return null;let e=s.trim().toLowerCase();return _.pts.find(t=>t.name.toLowerCase()===e)??null},[_,s]),S=p!==null&&_?_.pts[p]:v??null;if(!_)return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{message:`No plottable stars`,hint:`Each star needs a temperature and luminosity above zero`})]});let C=v?y(v.name,{maxWidth:96,fontSize:10,minFontSize:9,maxLines:2}):null,w=v!==null&&v.x>No-Io-100,T=v===null?0:Math.max(44,v.y-6);return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`hrd-wrap`,onMouseLeave:()=>m(null),children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${No} ${Po}`,className:`hrd-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`clipPath`,{id:f,children:(0,x.jsx)(`rect`,{x:Fo,y:Lo,width:No-Fo-Io,height:Po-Lo-Ro})})}),_.tempTicks.map((e,t)=>(0,x.jsx)(`line`,{x1:_.sx(Math.log10(e)),y1:Lo,x2:_.sx(Math.log10(e)),y2:Po-Ro,className:`hrd-grid`},`gt${t}`)),_.lumTicks.map((e,t)=>(0,x.jsx)(`line`,{x1:Fo,y1:_.sy(e),x2:No-Io,y2:_.sy(e),className:`hrd-grid`},`gl${t}`)),o&&(0,x.jsxs)(`g`,{clipPath:`url(#${f})`,children:[(0,x.jsx)(`line`,{x1:_.ms.x1,y1:_.ms.y1,x2:_.ms.x2,y2:_.ms.y2,className:`hrd-region`,stroke:`color-mix(in oklab, var(--presence) 14%, transparent)`,strokeWidth:30,strokeLinecap:`round`}),_.ellipses.map((e,t)=>(0,x.jsx)(`ellipse`,{cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,className:`hrd-region`,fill:`color-mix(in oklab, ${e.tint} 14%, transparent)`},t))]}),_.bands.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{x:e.x,y:Lo-10,textAnchor:`middle`,className:`hrd-cls`,children:e.cls}),e.edge!==null&&(0,x.jsx)(`line`,{x1:e.edge,y1:zo,x2:e.edge,y2:Lo-6,className:`hrd-cls-sep`})]},t)),(0,x.jsx)(`line`,{x1:Fo,y1:Lo,x2:Fo,y2:Po-Ro,className:`hrd-axis`}),(0,x.jsx)(`line`,{x1:Fo,y1:Po-Ro,x2:No-Io,y2:Po-Ro,className:`hrd-axis`}),_.tempTicks.map((e,t)=>(0,x.jsx)(`text`,{x:_.sx(Math.log10(e)),y:268,textAnchor:`middle`,className:`hrd-tick`,children:qo(e)},`tt${t}`)),_.lumTicks.map((e,t)=>(0,x.jsxs)(`text`,{x:Fo-6,y:_.sy(e)+3,textAnchor:`end`,className:`hrd-tick`,children:[`10`,(0,x.jsx)(`tspan`,{dy:-3.5,className:`hrd-exp`,children:e})]},`lt${t}`)),(0,x.jsx)(`text`,{x:205,y:Po-8,textAnchor:`middle`,className:`hrd-axis-lbl`,children:`Surface temperature (K), hot → cool`}),(0,x.jsx)(`text`,{transform:`translate(12, ${(334-Ro)/2}) rotate(-90)`,textAnchor:`middle`,className:`hrd-axis-lbl`,children:`Luminosity (L☉)`}),(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:_.sun.x,cy:_.sun.y,r:3,className:`hrd-sun`}),(0,x.jsx)(`text`,{x:_.sun.x+6,y:_.sun.y+3,className:`hrd-sun-lbl`,children:`Sun`})]}),(0,x.jsx)(`g`,{className:`m-fade-rise`,children:_.pts.map(e=>(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:p===e.i?e.r+1.6:e.r,fill:e.color,className:`hrd-star`,onMouseEnter:()=>m(e.i),children:(0,x.jsx)(`title`,{children:`${e.name} — ${e.tempK.toLocaleString(`en-US`)} K, ${Jo(e.luminosity)} L☉`})},e.i))}),o&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{transform:`translate(${(_.ms.x1+_.ms.x2)/2}, ${(_.ms.y1+_.ms.y2)/2-20}) rotate(${Math.round(_.msAngle)})`,className:`hrd-region-lbl`,textAnchor:`middle`,style:{fill:`color-mix(in oklab, var(--presence) 55%, var(--text-muted))`},children:`Main sequence`}),_.ellipses.map((e,t)=>e.labeled&&(0,x.jsx)(`text`,{x:e.cx,y:e.cy,className:`hrd-region-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,style:{fill:`color-mix(in oklab, ${e.tint} 55%, var(--text-muted))`},children:e.label},t))]}),v&&C&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:v.x,cy:v.y,r:v.r+4,className:`hrd-ring`}),(0,x.jsx)(`text`,{x:v.x+(w?-(v.r+8):v.r+8),textAnchor:w?`end`:`start`,fontSize:C.fontSize,className:`hrd-hl-lbl`,children:C.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:v.x+(w?-(v.r+8):v.r+8),y:T+t*C.lineHeightPx,children:e},t))})]})]}),(0,x.jsx)(`div`,{className:`hrd-read`,"aria-live":`polite`,children:S&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`strong`,{children:S.name}),` · `,S.tempK.toLocaleString(`en-US`),` K ·`,` `,Jo(S.luminosity),` L☉`,S.stage?` · ${S.stage.replace(`-`,` `)}`:``]})})]}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(c)})]})}var Xo=380,Zo=348,Qo=46,$o=334,es=300,ts=$o-Qo,ns=380/2,rs=es-ts*Math.sqrt(3)/2,is=[`var(--insight)`,`var(--warning)`,`var(--presence)`,`var(--danger)`,`var(--presence-deep)`];function $(e){return{x:e.a*ns+e.b*Qo+e.c*$o,y:e.a*rs+e.b*es+e.c*es}}function as(e){let t=typeof e.a==`number`?e.a:NaN,n=typeof e.b==`number`?e.b:NaN,r=typeof e.c==`number`?e.c:NaN;if(!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||t<0||n<0||r<0)return null;let i=t+n+r;return i>0?{a:t/i,b:n/i,c:r/i}:null}var os=e=>`${Math.round(e*100)}%`;function ss({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,axes:r,points:o,zones:s,unit:c,footer:l,delay:u}){let d=i[t]||i.layers,[f,p]=(0,b.useState)(null),m=r&&typeof r==`object`?r:{a:`A`,b:`B`,c:`C`},g=(e,t)=>{let n=typeof e==`string`&&e.trim()?e.trim():t;return typeof c==`string`&&c.trim()?`${n} (${c.trim()})`:n},_=g(m.a,`A`),v=g(m.b,`B`),S=g(m.c,`C`),C=(0,b.useMemo)(()=>(Array.isArray(o)?o:[]).map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=as(n);return r?{label:typeof n.label==`string`&&n.label.trim()?n.label.trim():`Point ${t+1}`,bary:r,...$(r)}:null}).filter(e=>e!==null),[o]),w=(0,b.useMemo)(()=>(Array.isArray(s)?s:[]).map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=(Array.isArray(n.vertices)?n.vertices:[]).map(e=>e&&typeof e==`object`?as(e):null).filter(e=>e!==null).map($);if(r.length<3)return null;let i=typeof n.label==`string`?n.label.trim():``,a=typeof n.color==`string`&&n.color.trim()?n.color:is[t%is.length],o=r.reduce((e,t)=>e+t.x,0)/r.length,s=r.reduce((e,t)=>e+t.y,0)/r.length,c=r.map(e=>e.x);return{label:i,color:a,verts:r,cx:o,cy:s,width:Math.max(...c)-Math.min(...c)}}).filter(e=>e!==null),[s]),T=(0,b.useMemo)(()=>{let e=[],t=[],n=[],r=[];for(let i=.2;i<.99;i+=.2){let a=Math.round(i*100)/100;e.push({p1:$({a,b:1-a,c:0}),p2:$({a,b:0,c:1-a})}),e.push({p1:$({a:1-a,b:a,c:0}),p2:$({a:0,b:a,c:1-a})}),e.push({p1:$({a:1-a,b:0,c:a}),p2:$({a:0,b:1-a,c:a})}),t.push({...$({a:0,b:1-a,c:a}),v:a}),n.push({...$({a,b:0,c:1-a}),v:a}),r.push({...$({a:1-a,b:a,c:0}),v:a})}return{lines:e,ticksBottom:t,ticksRight:n,ticksLeft:r}},[]),E=C.length>0||w.length>0,D=f===null?null:C[f],O=y(_,{maxWidth:150,fontSize:11,minFontSize:9,maxLines:2,bold:!0}),k=y(v,{maxWidth:88,fontSize:11,minFontSize:9,maxLines:2,bold:!0}),A=y(S,{maxWidth:88,fontSize:11,minFontSize:9,maxLines:2,bold:!0});return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),E?(0,x.jsxs)(`div`,{className:`ter-wrap`,onMouseLeave:()=>p(null),children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Xo} ${Zo}`,className:`ter-svg`,role:`img`,"aria-label":e,children:[T.lines.map((e,t)=>(0,x.jsx)(`line`,{x1:e.p1.x,y1:e.p1.y,x2:e.p2.x,y2:e.p2.y,className:`ter-grid`},t)),w.map((e,t)=>(0,x.jsxs)(`g`,{className:`m-stagger-item`,style:{"--i":t},children:[(0,x.jsx)(`polygon`,{points:e.verts.map(e=>`${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(` `),fill:`color-mix(in oklab, ${e.color} 16%, transparent)`,stroke:`color-mix(in oklab, ${e.color} 45%, transparent)`,className:`ter-zone`}),e.label&&(()=>{let t=y(e.label,{maxWidth:Math.max(40,Math.min(e.width*.9,110)),fontSize:9.5,minFontSize:8,maxLines:2}),n=e.cy-(t.lines.length-1)*t.lineHeightPx/2;return(0,x.jsx)(`text`,{textAnchor:`middle`,fontSize:t.fontSize,className:`ter-zone-lbl`,style:{fill:`color-mix(in oklab, ${e.color} 55%, var(--text-muted))`},children:t.lines.map((r,i)=>(0,x.jsx)(`tspan`,{x:e.cx,y:n+i*t.lineHeightPx,children:r},i))})})()]},t)),(0,x.jsx)(`polygon`,{points:`${ns},${rs} ${Qo},${es} ${$o},${es}`,className:`ter-frame`,fill:`none`}),T.ticksBottom.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:e.x,y1:e.y,x2:e.x,y2:e.y+4,className:`ter-tick-mark`}),(0,x.jsx)(`text`,{x:e.x,y:e.y+14,textAnchor:`middle`,className:`ter-tick`,children:Math.round(e.v*100)})]},t)),T.ticksRight.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:e.x,y1:e.y,x2:e.x+3.5,y2:e.y-2,className:`ter-tick-mark`}),(0,x.jsx)(`text`,{transform:`translate(${e.x+11}, ${e.y-6.5}) rotate(60)`,textAnchor:`middle`,className:`ter-tick`,children:Math.round(e.v*100)})]},t)),T.ticksLeft.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:e.x,y1:e.y,x2:e.x-3.5,y2:e.y-2,className:`ter-tick-mark`}),(0,x.jsx)(`text`,{transform:`translate(${e.x-11}, ${e.y-6.5}) rotate(-60)`,textAnchor:`middle`,className:`ter-tick`,children:Math.round(e.v*100)})]},t)),(0,x.jsx)(`text`,{textAnchor:`middle`,fontSize:O.fontSize,className:`ter-corner`,children:O.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:ns,y:rs-12-(O.lines.length-1-t)*O.lineHeightPx,children:e},t))}),(0,x.jsx)(`text`,{textAnchor:`middle`,fontSize:k.fontSize,className:`ter-corner`,children:k.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:Qo,y:330+t*k.lineHeightPx,children:e},t))}),(0,x.jsx)(`text`,{textAnchor:`middle`,fontSize:A.fontSize,className:`ter-corner`,children:A.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:$o,y:330+t*A.lineHeightPx,children:e},t))}),C.map((e,t)=>{let n=e.x>$o-70,r=y(e.label,{maxWidth:86,fontSize:9.5,minFontSize:8,maxLines:2});return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:f===t?5.5:4,className:`ter-pt`,onMouseEnter:()=>p(t),children:(0,x.jsx)(`title`,{children:`${e.label} — ${_.split(` (`)[0]} ${os(e.bary.a)}, ${v.split(` (`)[0]} ${os(e.bary.b)}, ${S.split(` (`)[0]} ${os(e.bary.c)}`})}),(0,x.jsx)(`text`,{textAnchor:n?`end`:`start`,fontSize:r.fontSize,className:`ter-pt-lbl`,children:r.lines.map((t,i)=>(0,x.jsx)(`tspan`,{x:e.x+(n?-7:7),y:e.y-5+i*r.lineHeightPx,children:t},i))})]},t)})]}),(0,x.jsx)(`div`,{className:`ter-read`,"aria-live":`polite`,children:D&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`strong`,{children:D.label}),` · `,_.split(` (`)[0],` `,os(D.bary.a),` ·`,` `,v.split(` (`)[0],` `,os(D.bary.b),` · `,S.split(` (`)[0],` `,os(D.bary.c)]})})]}):(0,x.jsx)(h,{message:`No plottable compositions`,hint:`Each point needs non-negative a, b, c values that sum above zero`}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(l)})]})}var cs=360,ls=196,us=180,ds=176,fs=148,ps=.42,ms=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`,`var(--danger)`,`var(--insight-soft)`,`var(--presence-soft)`,`var(--warning-soft)`],hs=900;function gs(e,t){let n=e.reduce((e,t)=>e+t,0);if(!(n>0)||t<=0)return e.map(()=>0);let r=e.map(e=>e/n*t),i=r.map(Math.floor),a=t-i.reduce((e,t)=>e+t,0),o=r.map((e,t)=>({i:t,frac:e-Math.floor(e)})).sort((e,t)=>t.frac-e.frac);for(let e=0;a>0&&e<o.length;e++,a--)i[o[e].i]++;return i}function _s(e){for(let t=1;t<=60;t++){let n=t===1?1-ps:(1-ps)/(t-1),r=Math.min(n*.42,.09),i=[],a=[];for(let e=0;e<t;e++){let o=t===1?1.42/2:ps+e*n;i.push(o),a.push(Math.max(1,Math.floor(Math.PI*o/(r*2.3))+1))}if(a.reduce((e,t)=>e+t,0)>=e)return{radii:i,caps:a,dotR:r}}return{radii:[1.42/2],caps:[e],dotR:.01}}function vs({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,parties:r,totalLabel:o=`seats`,footer:s,delay:c}){let l=i[t]||i.globe,[u,d]=(0,b.useState)(null),f=(0,b.useMemo)(()=>(Array.isArray(r)?r:[]).map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=typeof n.seats==`number`&&Number.isFinite(n.seats)?n.seats:0;return{name:typeof n.name==`string`&&n.name.trim()?n.name.trim():`Party ${t+1}`,seats:Math.max(0,Math.floor(r)),color:typeof n.color==`string`&&n.color.trim()?n.color:ms[t%ms.length]}}),[r]),p=f.reduce((e,t)=>e+t.seats,0),m=Math.floor(p/2)+1,g=_(p,{delay:(c||0)+200}),v=(0,b.useMemo)(()=>{if(p<=0)return null;let e=p>hs?Math.ceil(p/hs):1,t=e===1?p:Math.max(1,Math.round(p/e)),n=e===1?f.map(e=>e.seats):gs(f.map(e=>e.seats),t),r=n.reduce((e,t)=>e+t,0),{radii:i,caps:a,dotR:o}=_s(r),s=gs(a,r),c=[];for(let e=0;e<i.length;e++){let t=s[e],n=i[e]*fs;for(let e=0;e<t;e++){let r=t===1?Math.PI/2:Math.PI-e*Math.PI/(t-1);c.push({x:us+n*Math.cos(r),y:ds-n*Math.sin(r),theta:r})}}c.sort((e,t)=>t.theta-e.theta||e.y-t.y);let l=[];return n.forEach((e,t)=>{for(let n=0;n<e;n++)l.push(t)}),{seats:c,partyOfSeat:l,dotPx:o*fs,unit:e}},[f,p]);if(!v)return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(h,{message:`No seats to draw`,hint:`Each party needs a whole seat count`})]});let S=ps*fs,C=Math.max(14,ds-fs-v.dotPx-3),w=ds-S+v.dotPx+3,T=y(o,{maxWidth:2*Math.sqrt(Math.max(1,S*S-100))-8,fontSize:9.5,minFontSize:7,maxLines:1});return(0,x.jsxs)(`div`,{className:`card reveal c2`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`prl-wrap`,children:[(0,x.jsxs)(`svg`,{viewBox:`0 0 ${cs} ${ls}`,className:`prl-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`g`,{className:`m-fade-rise`,children:v.seats.map((e,t)=>{let n=v.partyOfSeat[t],r=u!==null&&n!==u&&n!==void 0;return(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:v.dotPx,fill:n===void 0?`var(--track)`:f[n].color,opacity:r?.18:1,className:`prl-dot`},t)})}),(0,x.jsx)(`line`,{x1:us,y1:C,x2:us,y2:w,className:`prl-maj-line`}),(0,x.jsxs)(`text`,{x:us,y:Math.max(10,C-4),textAnchor:`middle`,className:`prl-maj-lbl`,children:[`majority `,m.toLocaleString(`en-US`)]}),(0,x.jsx)(`text`,{x:us,y:ds-26,textAnchor:`middle`,className:`prl-total`,children:g}),(0,x.jsx)(`text`,{x:us,y:ds-10,textAnchor:`middle`,className:`prl-total-lbl`,style:{fontSize:T.fontSize},children:T.lines[0]})]}),v.unit>1&&(0,x.jsxs)(`div`,{className:`prl-note`,children:[`1 dot ≈ `,v.unit.toLocaleString(`en-US`),` seats`]}),(0,x.jsx)(`div`,{className:`prl-legend`,children:f.map((e,t)=>(0,x.jsxs)(`button`,{type:`button`,className:`prl-chip`+(u===t?` is-on`:``)+(u!==null&&u!==t?` muted`:``),onClick:()=>d(u===t?null:t),children:[(0,x.jsx)(`span`,{className:`prl-swatch`,style:{background:e.color}}),(0,x.jsx)(`span`,{className:`prl-chip-name`,children:e.name}),(0,x.jsx)(`span`,{className:`prl-chip-n`,children:e.seats.toLocaleString(`en-US`)})]},t))})]}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(s)})]})}var ys=e({charts2Registry:()=>bs}),bs={slopegraph:v(ee),plot:v(re),calheat:v(oe),bump:v(le),marimekko:v(de),dumbbell:v(fe),lollipop:v(pe),bulletchart:v(me),candlestick:v(ge),gantt:v(_e),bubble:v(be),arearange:v(xe),waffle:v(Se),groupedbars:v(Ce),dualaxis:v(Ae),scatterregression:(e,t)=>(0,x.jsx)(Pe,{...e,delay:t.delay}),dotplot:(e,t)=>(0,x.jsx)(Ve,{...e,delay:t.delay}),controlchart:v(Le),bridge:v(He),areaplot:v(it),supplydemand:v(gt),breakeven:v(Tt),bigo:v(Ft),errorbars:v(Ht),eratimeline:v($t),indifferencecurve:v(fn),payoffdiagram:v(Cn),phasediagram:v(Nn),loaddiagram:v(Yn),ecgstrip:v(sr),vitalstrip:v(dr),growthcurve:v(br),sleepcycle:v(Ar),seasonband:v(Kr),burnrunway:v(I),qqplot:v(Qr),samplingdistribution:v(ki),surfaceplot:v(ri),roccurve:v(E),gradientdescent:v(Li),biasvariance:v(Wi),timeseriesdecomposition:v(Qi),precisionrecallcurve:v(ra),chromatogram:v(ma),stressstraincurve:v(Sa),gatingplot:v(ja),gellane:v(Wa),flightchart:v(Ka),paybandchart:v(qa),linebalance:v($a),epicurve:v(fo),pareto:v(yo),populationpyramid:v(bo),parallelcoordinates:v(To),scatterplotmatrix:v(ko),pictogramchart:v(Mo),hrdiagram:v(Yo),ternaryplot:v(ss),parliamentseats:v(vs)};export{ys as n,bs as t};
|