@mavea/mavea 1.0.16 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +589 -567
- package/dist/assets/{AppCommandPalette-Dzl_DbDd.js → AppCommandPalette-B3E1gTd4.js} +1 -1
- package/dist/assets/{BlockEmpty-B5Q0hgDJ.js → BlockEmpty-DQkdduUE.js} +1 -1
- package/dist/assets/{BriefingPlayer-Dy7JCGm-.js → BriefingPlayer-CRKTlKa3.js} +1 -1
- package/dist/assets/{CanvasSkeleton-CJwPWnFG.js → CanvasSkeleton-cQ6KF-6z.js} +2 -2
- package/dist/assets/{CheckLogRail-DNtXlkcR.js → CheckLogRail-C6nouD1Y.js} +1 -1
- package/dist/assets/{CodeOutput-Bg64AyKu.js → CodeOutput-H8TQzjqL.js} +1 -1
- package/dist/assets/{CommandPalette-mO1FEvlx.js → CommandPalette-CSvgbXxg.js} +1 -1
- package/dist/assets/CourseLessonReader-1KDKwxIj.js +2 -0
- package/dist/assets/{CourseRail-CRcB319H.js → CourseRail-BijCpApU.js} +1 -1
- package/dist/assets/CoursesApp-BWkdYL07.js +2 -0
- package/dist/assets/{CrossExamPanel-Deywo95y.js → CrossExamPanel-Cn7b5y7B.js} +1 -1
- package/dist/assets/{DashPresent-BEm1tGse.js → DashPresent-B025i7iJ.js} +1 -1
- package/dist/assets/DashboardDetail-CZLnxgp0.js +2 -0
- package/dist/assets/DashboardLoopRuntime-7MpMUcMg.js +1 -0
- package/dist/assets/{DashboardOverview-DrdqBgds.js → DashboardOverview-COyleu7v.js} +1 -1
- package/dist/assets/{DashboardSettings-CBhzLW0P.js → DashboardSettings-DUfUqbsp.js} +1 -1
- package/dist/assets/DashboardsApp-6xMz2qCP.js +2 -0
- package/dist/assets/{DeepZoomApp-Chz6laKc.js → DeepZoomApp-CQaTT2Uh.js} +1 -1
- package/dist/assets/{DelegatePanel-DmtTY_lE.js → DelegatePanel-D4OrMa2D.js} +1 -1
- package/dist/assets/{DemoGallery-zw3d7ap9.js → DemoGallery-Bt92vKqc.js} +1 -1
- package/dist/assets/{DropSelect-Bo2Oyi-2.js → DropSelect-Q310fTbf.js} +1 -1
- package/dist/assets/{ExportModal-DICXavg9.js → ExportModal-D0zXlC8w.js} +2 -2
- package/dist/assets/ExtractionPreview-0SZYynDs.js +18 -0
- package/dist/assets/{FlagshipCTA-B-7nH43r.js → FlagshipCTA-D845jkdt.js} +1 -1
- package/dist/assets/{FlagshipCommandPalette-DgTL_Kjj.js → FlagshipCommandPalette-DHMnyG7j.js} +1 -1
- package/dist/assets/{FlagshipShowcase-CbAC2s4X.js → FlagshipShowcase-BuR3PZvU.js} +1 -1
- package/dist/assets/{FlashcardsApp-CatYcaJJ.js → FlashcardsApp-BzWb4cRP.js} +1 -1
- package/dist/assets/{ForecastPanel-BOG361kr.js → ForecastPanel-lTnux0EB.js} +1 -1
- package/dist/assets/GalleryApp-D0NGZ1_t.js +1 -0
- package/dist/assets/{HonestByDesign-hCxc0A7b.js → HonestByDesign-CCOt31nx.js} +1 -1
- package/dist/assets/{HowItWorks-BlbQcUxx.js → HowItWorks-auW5XXCZ.js} +1 -1
- package/dist/assets/{LegalApp-sCZjJYWx.js → LegalApp-DXDomKFv.js} +1 -1
- package/dist/assets/{LegalMarkdownDocument-Bk3U7ChN.js → LegalMarkdownDocument-DBjLz9Yf.js} +1 -1
- package/dist/assets/{LegalPageShell-BsgRV7aL.js → LegalPageShell-BG5UUk-9.js} +1 -1
- package/dist/assets/{LeverPanel-CP32QcIf.js → LeverPanel-CvYnTLjh.js} +1 -1
- package/dist/assets/{Library-CJTnp1pC.js → Library-Cl1gE9Qg.js} +1 -1
- package/dist/assets/{LibraryOverlay-geQRGAzG.js → LibraryOverlay-CX4cJLqD.js} +1 -1
- package/dist/assets/LiveApp-CDckMWYX.js +61 -0
- package/dist/assets/LiveSettings-DgfIXanM.js +6 -0
- package/dist/assets/{MindMapViewerDrawer-7HLErRQF.js → MindMapViewerDrawer-ClU9wgSH.js} +1 -1
- package/dist/assets/{MindShape-Bhu4yoIj.js → MindShape-yF19n9qq.js} +1 -1
- package/dist/assets/{PinToDashboard-Cj8S9XKC.js → PinToDashboard-CpIDAcIU.js} +1 -1
- package/dist/assets/PlanReview-CPcqOxjp.js +1 -0
- package/dist/assets/{Presence-DDxb6yE5.js → Presence-CHGZ1JRp.js} +1 -1
- package/dist/assets/{PresentationDeck-B6AHRYEA.js → PresentationDeck-CrtiWjiM.js} +1 -1
- package/dist/assets/PrismApp-D7RbekoX.js +2 -0
- package/dist/assets/{PrismAskController-DUvOTeW9.js → PrismAskController-D6_7Epdb.js} +1 -1
- package/dist/assets/PrismBriefingPlayer-Dq5_KRU3.js +2 -0
- package/dist/assets/PrismOverlay-CduGpA8D.js +131 -0
- package/dist/assets/{PrivacyApp-CatB3OpJ.js → PrivacyApp-rhzy-5HG.js} +1 -1
- package/dist/assets/{Recap-DkKrrqi5.js → Recap-BPg2xEPo.js} +1 -1
- package/dist/assets/{ReelJelly-DCD4bG10.js → ReelJelly-LWeMsFpj.js} +1 -1
- package/dist/assets/ReplayCard-C3dGQfxG.js +2 -0
- package/dist/assets/{ReplayOverlay-DbJX08Kr.js → ReplayOverlay-C9W603B5.js} +1 -1
- package/dist/assets/{RewindOverlay-Bop4a63b.js → RewindOverlay-BIWmxQlx.js} +1 -1
- package/dist/assets/RippleApp-C9-KFvkn.js +2 -0
- package/dist/assets/{RippleAskController-CK4iSwT0.js → RippleAskController-DEKz-6Vn.js} +1 -1
- package/dist/assets/RippleOverlay-CfXvnUHE.js +6 -0
- package/dist/assets/{SeeDontRead-CGGKmvBV.js → SeeDontRead-DrG1qBxJ.js} +1 -1
- package/dist/assets/{ShareModal-D4En6Y3L.js → ShareModal-eJ6sdMpf.js} +1 -1
- package/dist/assets/{ShipCascade-k_GWrcau.js → ShipCascade-BP8qL0yM.js} +1 -1
- package/dist/assets/{ShipCourse-BQOY4MyI.js → ShipCourse-BoqW58VU.js} +1 -1
- package/dist/assets/{ShipHotspots-vLRK0w_b.js → ShipHotspots-_9XPhZg2.js} +1 -1
- package/dist/assets/{ShipIncident-BWxerYtX.js → ShipIncident-Xod2gbjc.js} +1 -1
- package/dist/assets/{ShipMigration-OgAGEbjm.js → ShipMigration-BdkaiJ9D.js} +1 -1
- package/dist/assets/{ShipOnboarding-B_2IEq3N.js → ShipOnboarding-CblWatXR.js} +1 -1
- package/dist/assets/{ShipRead--gGqg2SE.js → ShipRead-BBn7xkOF.js} +1 -1
- package/dist/assets/{ShipRollout-B_U2P8Yw.js → ShipRollout-i5BY3YnP.js} +1 -1
- package/dist/assets/{ShipSuggestions-D9coTmgw.js → ShipSuggestions-liytLgC-.js} +1 -1
- package/dist/assets/{ShipWorkspace-BmdcHZXa.js → ShipWorkspace-C3VQwGn1.js} +1 -1
- package/dist/assets/{SignatureLoop-KA6Cf93g.js → SignatureLoop-Ba7plTb5.js} +1 -1
- package/dist/assets/{SynthesisApp-BCBhCJhx.js → SynthesisApp-Ch0tWRBS.js} +2 -2
- package/dist/assets/{SynthesisOverlay-BuGIeaKq.js → SynthesisOverlay-DMZndCzV.js} +1 -1
- package/dist/assets/{TermsApp-CleIlDtR.js → TermsApp-Dk2jpxq-.js} +1 -1
- package/dist/assets/{TopicCanvas-BRu3xVL8.js → TopicCanvas-DX0Z1ZHv.js} +2 -2
- package/dist/assets/{TourPrism-zbVLe2ag.js → TourPrism-6fWPMU4Z.js} +1 -1
- package/dist/assets/{TrackerTile-D9Wa3CSq.js → TrackerTile-BboQpBGy.js} +2 -2
- package/dist/assets/{TwoSurfaces-TyWXgAdq.js → TwoSurfaces-Cabk1rES.js} +1 -1
- package/dist/assets/{UnderstoodPanel-BS9OhgLJ.js → UnderstoodPanel-B6jfiKx1.js} +1 -1
- package/dist/assets/{WhyMachineOverlay-B-KJhCjr.js → WhyMachineOverlay-BRNibJSf.js} +1 -1
- package/dist/assets/{WowFeatures-Bv1-PmXF.js → WowFeatures-C7f4qzIf.js} +1 -1
- package/dist/assets/{ZoomDeck-C2Q6xbgX.js → ZoomDeck-BtlVyhwv.js} +1 -1
- package/dist/assets/{alternateFinishes-BG6svkXG.js → alternateFinishes-CVUX4x0C.js} +1 -1
- package/dist/assets/{annotationAuto-BpBsjbDQ.js → annotationAuto-BjWqgseH.js} +1 -1
- package/dist/assets/{annotationReel-yzysA-Gr.js → annotationReel-B5A2RZkx.js} +1 -1
- package/dist/assets/{backup-BdeBr3wq.js → backup-d46KwktS.js} +1 -1
- package/dist/assets/cachedImport-DW0gP14h.js +1 -0
- package/dist/assets/canvas-BuMP6u6i.js +1 -0
- package/dist/assets/{catalog-DF7YTNju.js → catalog-Bv0dWU_C.js} +1 -1
- package/dist/assets/confirmAdd-CWWtX1VN.js +1 -0
- package/dist/assets/{dashboardEvents-C_XvGVLJ.js → dashboardEvents-Be4sftHN.js} +1 -1
- package/dist/assets/{dist-CBEt6Q8V.js → dist-DIKAXwpM.js} +1 -1
- package/dist/assets/{fit-B1LJWvMO.js → fit-CuHWhwsj.js} +1 -1
- package/dist/assets/{generateLive-ChhSWKbq.js → generateLive-CMbGT3eM.js} +1 -1
- package/dist/assets/index-Dbr1j8Fe.js +22 -0
- package/dist/assets/{jspdf.es.min-DutJi91O.js → jspdf.es.min-ydC1TxUW.js} +1 -1
- package/dist/assets/{kokoro-kGWf7M0e.js → kokoro-DsmNzulR.js} +1 -1
- package/dist/assets/{lib-C7zXL8h0.js → lib-B6qSkBPa.js} +1 -1
- package/dist/assets/{liveSchema-DCL21WdS.js → liveSchema-B1MGdSkK.js} +1 -1
- package/dist/assets/{motion-dfA87zbb.js → motion-luJxBPnj.js} +1 -1
- package/dist/assets/notes-3WQ6b0Mi.js +1 -0
- package/dist/assets/{pdf-DFYCstCC.js → pdf-RyoPCIGN.js} +1 -1
- package/dist/assets/{perfProbe-CCSPF3EA.js → perfProbe-Xs39DqMh.js} +1 -1
- package/dist/assets/{pin-D5_Ebl_s.js → pin-Cj-LMfpK.js} +1 -1
- package/dist/assets/{portal-BndazODr.js → portal-zyqZwnb1.js} +1 -1
- package/dist/assets/{pptxgen.es-CwCkoJdp.js → pptxgen.es-CveAizg8.js} +1 -1
- package/dist/assets/{prewarm--KODwuMi.js → prewarm-K5WcvrNh.js} +1 -1
- package/dist/assets/{quietHours-DVPplPtM.js → quietHours-BklvMqsV.js} +1 -1
- package/dist/assets/{registry-DQIm_hbI.js → registry-1h9idbfk.js} +1 -1
- package/dist/assets/{registry-Dphh5ADP.js → registry-2zthbrHC.js} +1 -1
- package/dist/assets/{registry-D7rspCZr.js → registry-4O5l9cd5.js} +1 -1
- package/dist/assets/{registry-WJE8Z0T1.js → registry-BRB85vr4.js} +1 -1
- package/dist/assets/registry-BdMZ_4cm.js +2 -0
- package/dist/assets/{registry-Ba9xMFO4.js → registry-Bnp_yh8G.js} +2 -2
- package/dist/assets/{registry-BlB0FYf0.js → registry-C1IrZBk8.js} +1 -1
- package/dist/assets/{registry-B3V5-8v0.js → registry-C5DK98Hl.js} +1 -1
- package/dist/assets/{registry-0E1uKPCI.js → registry-CK0-re_Q.js} +1 -1
- package/dist/assets/{registry-DrNMbrA_.js → registry-COrl_Heq.js} +1 -1
- package/dist/assets/{registry-wJhGGVuP.js → registry-CQUQlrSx.js} +1 -1
- package/dist/assets/{registry-COxprhRN.js → registry-CXa3qXl3.js} +1 -1
- package/dist/assets/{registry-CWkBxxsI.js → registry-C_baBbqq.js} +1 -1
- package/dist/assets/{registry-CIa1EU-G.js → registry-CjY5POtx.js} +1 -1
- package/dist/assets/{registry-C30HGS2G.js → registry-CoBAqOlY.js} +1 -1
- package/dist/assets/{registry-Dvv84L9K.js → registry-DJj-o3MQ.js} +1 -1
- package/dist/assets/{registry-DNzF-nvu.js → registry-DfCCnIfu.js} +1 -1
- package/dist/assets/{registry-D-qEhm1d.js → registry-DfgFkD3J.js} +1 -1
- package/dist/assets/{registry-M3VgAiQv.js → registry-Dhlx1mF4.js} +1 -1
- package/dist/assets/{registry-nG70-amx.js → registry-DnEh7nbX.js} +1 -1
- package/dist/assets/{registry-hsSlT6pi.js → registry-VD94nLXO.js} +1 -1
- package/dist/assets/{registry-BH6FfyZk.js → registry-mFD4P5dI.js} +1 -1
- package/dist/assets/registry-sDzDmht4.js +1 -0
- package/dist/assets/{relate-DxAi8xpo.js → relate-CEND9Qlk.js} +1 -1
- package/dist/assets/{shikiHighlight-B_TEagaE.js → shikiHighlight-SCFIB43b.js} +1 -1
- package/dist/assets/useDashboardLoop-C8Mcbcto.js +5 -0
- package/dist/assets/{useLiveConfig-Lm0cYTcu.js → useLiveConfig-BW1WkpTc.js} +1 -1
- package/dist/assets/{useSpatialCanvas-D_C8VoCy.js → useSpatialCanvas-C5TNlpeK.js} +1 -1
- package/dist/assets/{useSpotlightWalk-CCQT0-_g.js → useSpotlightWalk-dA3IdI-1.js} +1 -1
- package/dist/assets/{useSrsCards-BKCPBPYw.js → useSrsCards-C7Xni9C0.js} +1 -1
- package/dist/assets/{useStudy-Diy4ITBm.js → useStudy-DHRIx8p-.js} +1 -1
- package/dist/assets/{useZoomGesture-B82XnSfi.js → useZoomGesture-BsPXvLw2.js} +1 -1
- package/dist/index.html +2 -1
- package/package.json +1 -1
- package/dist/assets/CourseLessonReader-CKfvBMtL.js +0 -2
- package/dist/assets/CoursesApp-BbCGxAav.js +0 -2
- package/dist/assets/DashboardDetail-tK6FpgtH.js +0 -2
- package/dist/assets/DashboardLoopRuntime-Cis4WMqk.js +0 -1
- package/dist/assets/DashboardsApp-Dc43FBIi.js +0 -2
- package/dist/assets/ExtractionPreview-C636AVw-.js +0 -18
- package/dist/assets/GalleryApp-uW6b1Y0d.js +0 -1
- package/dist/assets/LiveApp-C0BN0o3_.js +0 -61
- package/dist/assets/LiveSettings-CzSXXMoo.js +0 -6
- package/dist/assets/PlanReview-3NxZD9wt.js +0 -1
- package/dist/assets/PrismApp-BlPpWxao.js +0 -2
- package/dist/assets/PrismBriefingPlayer-Bmo9tOGX.js +0 -2
- package/dist/assets/PrismOverlay-9Q_14eEO.js +0 -131
- package/dist/assets/ReplayCard-Bz69tOST.js +0 -2
- package/dist/assets/RippleApp-u3hCfb5b.js +0 -2
- package/dist/assets/RippleOverlay-BM_B9JEc.js +0 -6
- package/dist/assets/canvas-Ep2Kfupo.js +0 -1
- package/dist/assets/index-C7H7A1rW.js +0 -22
- package/dist/assets/notes-DblI4Ko_.js +0 -1
- package/dist/assets/registry-B51MhOLx.js +0 -2
- package/dist/assets/registry-Pr5IKqro.js +0 -1
- package/dist/assets/useDashboardLoop-DzbRz-V9.js +0 -5
|
@@ -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{t as r}from"./cachedImport-DW0gP14h.js";import{J as i,ht as a,q as o}from"./index-Dbr1j8Fe.js";import{n as s}from"./icons-CHVz6kv_.js";import{s as c}from"./CanvasSkeleton-cQ6KF-6z.js";import{t as l}from"./richText-BkxJhl9N.js";import{i as u,r as d,t as f}from"./format-DlZTyeMy.js";import{a as p,i as m,n as h,r as g,t as _}from"./scale-Bcgfo6Hp.js";import{t as v}from"./BlockEmpty-DQkdduUE.js";import"./lib-B6qSkBPa.js";import{t as y}from"./motion-luJxBPnj.js";import{t as b}from"./registry-types-DMuK0vJ6.js";import{n as x}from"./fitText-CDFmCQzl.js";import{n as S}from"./Quiz-CUwtekfu.js";import{i as C,n as w,r as T}from"./stepDriver-DwjFet6U.js";var E=n(),D=9,O=6,k=[[/alkaline earth/,`var(--warning-soft)`],[/alkali/,`var(--danger)`],[/noble/,`var(--insight)`],[/halogen/,`var(--insight-soft)`],[/lanthanide/,`var(--presence-soft)`],[/actinide/,`var(--presence-deep)`],[/transition/,`var(--presence)`],[/metalloid/,`var(--warning)`],[/post.?transition|poor metal/,`var(--warning-soft)`],[/nonmetal|non-metal/,`var(--insight)`]];function A(e){let t=e.toLowerCase();for(let[e,n]of k)if(e.test(t))return n;return`var(--text-muted)`}function j(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function M({shells:e}){let t=8.5,n=(13+(e.length-1)*t+8)*2,r=n/2;return(0,E.jsxs)(`svg`,{viewBox:`0 0 ${n} ${n}`,className:`lr-ec-shells-svg`,role:`img`,"aria-label":`Electron shells: ${e.join(`, `)}`,children:[(0,E.jsx)(`circle`,{cx:r,cy:r,r:3,className:`lr-ec-nucleus`}),e.map((e,n)=>{let i=13+n*t;return(0,E.jsxs)(`g`,{className:`m-fade-rise m-stagger-item`,style:{"--i":n},children:[(0,E.jsx)(`circle`,{cx:r,cy:r,r:i,className:`lr-ec-shell-ring`,fill:`none`}),(0,E.jsx)(`text`,{x:r,y:r-i-2,className:`lr-ec-shell-count`,textAnchor:`middle`,children:e})]},n)})]})}function N({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,symbol:r,name:i,z:a,mass:o,category:c,electronConfig:u,shells:f,discovered:p,meltingPoint:m,boilingPoint:h,uses:g,footer:_,delay:v}){let y=s[t]||s.sparkle,b=j(a),x=j(o),S=j(m),C=j(h),w=typeof c==`string`&&c.trim()?c.trim():null,T=w?A(w):`var(--text-muted)`,k=Array.isArray(f)?f.filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0).slice(0,D):[],N=Array.isArray(g)?g.filter(e=>typeof e==`string`&&e.trim().length>0):[];return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(v??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(y,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`lr-ec-layout`,children:[(0,E.jsxs)(`div`,{className:`lr-ec-tile`,style:{"--c":T},children:[(0,E.jsx)(`span`,{className:`lr-ec-tile-z`,children:b??`—`}),(0,E.jsx)(`span`,{className:`lr-ec-tile-sym`,children:r||`—`}),(0,E.jsx)(`span`,{className:`lr-ec-tile-name`,children:i||``}),(0,E.jsx)(`span`,{className:`lr-ec-tile-mass`,children:x===null?``:d(x,{decimals:x%1==0?0:3})})]}),(0,E.jsxs)(`div`,{className:`lr-ec-facts`,children:[w&&(0,E.jsx)(`span`,{className:`lr-ec-badge`,style:{"--c":T},children:w}),u&&(0,E.jsx)(`p`,{className:`lr-ec-fact lr-ec-fact--mono`,children:u}),p&&(0,E.jsxs)(`p`,{className:`lr-ec-fact`,children:[`Discovered `,p]}),(S!==null||C!==null)&&(0,E.jsxs)(`p`,{className:`lr-ec-fact`,children:[S!==null&&(0,E.jsxs)(E.Fragment,{children:[`Melts `,d(S,{unit:`°C`})]}),S!==null&&C!==null&&` · `,C!==null&&(0,E.jsxs)(E.Fragment,{children:[`Boils `,d(C,{unit:`°C`})]})]})]}),k.length>0&&(0,E.jsx)(`div`,{className:`lr-ec-shells`,children:(0,E.jsx)(M,{shells:k})})]}),N.length>0&&(0,E.jsxs)(`div`,{className:`lr-ec-uses`,children:[N.slice(0,O).map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ec-use-tag`,children:e},t)),N.length>O&&(0,E.jsxs)(`span`,{className:`lr-ec-use-tag lr-ec-use-tag--more`,children:[`+`,N.length-O,` more`]})]}),_&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(_)})]})}var ee=100,te=(1+Math.sqrt(5))/2,ne=[`left`,`top`,`right`,`bottom`];function re(e,t){let n={x0:0,y0:0,x1:t,y1:t/te},r=[],i=[];for(let a=0;a<e;a++){let e=ne[a%4],o=n.x1-n.x0,s=n.y1-n.y0,c=Math.min(o,s);if(c<t*.02)break;let l;e===`left`?(l={x0:n.x0,y0:n.y0,x1:n.x0+c,y1:n.y0+c},n={x0:n.x0+c,y0:n.y0,x1:n.x1,y1:n.y1}):e===`top`?(l={x0:n.x0,y0:n.y0,x1:n.x0+c,y1:n.y0+c},n={x0:n.x0,y0:n.y0+c,x1:n.x1,y1:n.y1}):e===`right`?(l={x0:n.x1-c,y0:n.y0,x1:n.x1,y1:n.y0+c},n={x0:n.x0,y0:n.y0,x1:n.x1-c,y1:n.y1}):(l={x0:n.x0,y0:n.y1-c,x1:n.x0+c,y1:n.y1},n={x0:n.x0,y0:n.y0,x1:n.x1,y1:n.y1-c}),r.push(l);let u={x:l.x0,y:l.y0},d={x:l.x1,y:l.y0},f={x:l.x1,y:l.y1},p={x:l.x0,y:l.y1},m=e===`left`?{center:u,from:p,to:d}:e===`top`?{center:d,from:u,to:f}:e===`right`?{center:f,from:d,to:p}:{center:p,from:f,to:u},h=Math.atan2(m.from.y-m.center.y,m.from.x-m.center.x),g=Math.atan2(m.to.y-m.center.y,m.to.x-m.center.x)-h;for(;g>Math.PI;)g-=2*Math.PI;for(;g<-Math.PI;)g+=2*Math.PI;for(let e=0;e<=10;e++){let t=h+g*e/10;i.push({x:m.center.x+c*Math.cos(t),y:m.center.y+c*Math.sin(t)})}}return{squares:r,path:i.map((e,t)=>`${t===0?`M`:`L`} ${e.x.toFixed(2)} ${e.y.toFixed(2)}`).join(` `)}}var ie=re(7,ee);function ae(e,t){if(typeof t!=`number`||!Number.isFinite(t)||t<0)return e;let n=e.indexOf(`.`);if(n===-1)return e;let r=Math.min(Math.floor(t),e.length-n-1);return e.slice(0,n+1+r)}function oe({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,symbol:r,value:i,digitsShown:a,significance:o,visual:c=`none`,footer:u,delay:d}){let f=s[t]||s.sparkle,p=typeof i==`string`?i:typeof i==`number`&&Number.isFinite(i)?String(i):``,m=p?ae(p,a):``;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`lr-cst-head`,children:[(0,E.jsx)(`span`,{className:`lr-cst-symbol`,children:r||`—`}),m&&(0,E.jsxs)(`span`,{className:`lr-cst-value`,"data-semantic-ellipsis":`true`,children:[m,`…`]})]}),o&&(0,E.jsx)(`p`,{className:`lr-cst-sig`,children:o}),c===`spiral`&&(0,E.jsx)(`div`,{className:`lr-cst-visual`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${ee} ${ee/te}`,className:`lr-cst-svg`,role:`img`,"aria-label":`Golden-ratio spiral construction`,children:[ie.squares.map((e,t)=>(0,E.jsx)(`rect`,{x:e.x0,y:e.y0,width:e.x1-e.x0,height:e.y1-e.y0,className:`lr-cst-square m-fade-rise m-stagger-item`,style:{"--i":t}},t)),(0,E.jsx)(`path`,{d:ie.path,className:`lr-cst-spiral-path`,fill:`none`})]})}),c===`circle`&&(0,E.jsxs)(`div`,{className:`lr-cst-visual`,children:[(0,E.jsxs)(`svg`,{viewBox:`0 0 100 100`,className:`lr-cst-svg`,role:`img`,"aria-label":`A circle with its diameter drawn through the center`,children:[(0,E.jsx)(`circle`,{cx:`50`,cy:`50`,r:`38`,className:`lr-cst-circle`,fill:`none`}),(0,E.jsx)(`line`,{x1:`12`,y1:`50`,x2:`88`,y2:`50`,className:`lr-cst-diameter`}),(0,E.jsx)(`text`,{x:`50`,y:`44`,className:`lr-cst-circle-lbl`,textAnchor:`middle`,children:`d`})]}),(0,E.jsxs)(`p`,{className:`lr-cst-visual-cap`,children:[`Circumference = `,r||`—`,` × diameter`]})]}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}var P=t(),se=24,ce=26,le=58,ue={fibonacci:`Fibonacci sequence`,prime:`Prime numbers`,triangular:`Triangular numbers`,square:`Square numbers`};function de(e,t){return t>0?ce+Math.sqrt(Math.min(1,e/t))*(le-ce):ce}function fe({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,kind:r,terms:i,rule:a,highlightPattern:o=!0,footer:c,delay:u}){let f=s[t]||s.sparkle,{shown:p,maxAbsValue:m,hiddenCount:h}=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).filter(e=>typeof e==`number`&&Number.isFinite(e)),t=e.slice(0,se);return{shown:t,maxAbsValue:Math.max(0,...t.map(e=>Math.abs(e))),hiddenCount:e.length-t.length}},[i]),g=ue[r]??`Number sequence`;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e,(0,E.jsx)(`span`,{className:`lr-ns-kind`,children:g})]}),p.length===0?(0,E.jsx)(`div`,{className:`lr-ns-empty`,children:`No terms to show.`}):(0,E.jsx)(`div`,{className:`lr-ns-row`,children:p.map((e,t)=>{let n=de(Math.abs(e),m),r=t>0?e-p[t-1]:null;return(0,E.jsxs)(`span`,{className:`lr-ns-pair`,children:[r!==null&&o&&(0,E.jsxs)(`span`,{className:`lr-ns-connector m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,E.jsxs)(`span`,{className:`lr-ns-delta`,children:[r>=0?`+`:`−`,d(Math.abs(r),{compact:!0})]}),(0,E.jsx)(`span`,{className:`lr-ns-connector-line`,"aria-hidden":`true`})]}),(0,E.jsx)(`span`,{className:`lr-ns-item m-stagger-item m-scale-in`,style:{"--i":t,width:n,height:n},title:d(e),children:d(e,{compact:!0})})]},t)})}),h>0&&(0,E.jsxs)(`p`,{className:`lr-ns-more`,children:[`+`,h,` more terms`]}),a&&(0,E.jsx)(`p`,{className:`lr-ns-rule`,children:a}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}var pe=12,me=42,he=100;function ge(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.name==`string`?n.name.trim():``;return r?{key:`r${t}`,level:typeof n.level==`string`&&n.level.trim()?n.level.trim():`Rank`,name:r,highlight:n.highlight===!0}:null}function _e({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,scientificName:r,ranks:i,footer:a,delay:o}){let c=s[t]||s.layers,u=(Array.isArray(i)?i:[]).map(ge).filter(e=>e!==null),d=u.slice(0,pe),f=u.length-d.length;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,E.jsx)(`p`,{className:`lr-txr-sciname`,children:r}),d.length===0?(0,E.jsx)(`div`,{className:`lr-txr-empty`,children:`No classification ranks to show.`}):(0,E.jsx)(`ol`,{className:`lr-txr-ladder`,children:d.map((e,t)=>{let n=me+(d.length>1?t/(d.length-1):1)*(he-me);return(0,E.jsxs)(`li`,{className:`lr-txr-rung m-stagger-item m-fade-rise`,style:{"--i":t},children:[t>0&&(0,E.jsx)(`span`,{className:`lr-txr-connector`,"aria-hidden":`true`}),(0,E.jsxs)(`div`,{className:`lr-txr-pill`+(e.highlight?` lr-txr-pill--hot`:``),style:{width:`${n}%`},children:[(0,E.jsx)(`span`,{className:`lr-txr-level`,children:e.level}),(0,E.jsx)(`span`,{className:`lr-txr-name`,children:e.name})]})]},e.key)})}),f>0&&(0,E.jsxs)(`p`,{className:`lr-txr-more`,children:[`+`,f,` more ranks`]}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(a)})]})}var ve=864e5,ye=21,be=8,xe=6,Se=[0,30,52,76,100];function Ce(e){return new Date(e).toISOString().slice(0,10)}function we(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.date==`string`&&n.date.trim()?Date.parse(n.date):NaN,i=Number.isFinite(n.minutes)?Math.max(0,n.minutes):0;return{key:`s${t}`,dateKey:Number.isFinite(r)?Ce(r):null,dateMs:Number.isFinite(r)?r:-1/0,minutes:i,piece:typeof n.piece==`string`&&n.piece.trim()?n.piece.trim():null,focus:typeof n.focus==`string`&&n.focus.trim()?n.focus.trim():null,note:typeof n.note==`string`&&n.note.trim()?n.note.trim():null}}function Te(e,t){return e<=0?`var(--cell-empty)`:`color-mix(in oklab, ${t} ${Se[Math.max(1,Math.min(4,Math.round(e)))]}%, transparent)`}function Ee({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,instrument:r,sessions:i,streak:a,footer:o,delay:c}){let u=s[t]||s.clock,{cells:p,pieces:m,totalMinutes:h,streakDays:g,sorted:_,hasAnySession:v}=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).map(we).filter(e=>e!==null),t=new Map;for(let n of e)n.dateKey&&t.set(n.dateKey,(t.get(n.dateKey)??0)+n.minutes);let n=[...t.keys()].sort(),r=[];if(n.length>0){let e=Date.parse(`${n[n.length-1]}T00:00:00.000Z`),i=Date.parse(`${n[0]}T00:00:00.000Z`),a=Math.max(e-(ye-1)*ve,i),o=Math.max(0,...t.values());for(let n=a;n<=e;n+=ve){let e=Ce(n),i=t.get(e)??0,a=o>0?Math.ceil(i/o*4):0;r.push({key:e,label:f(n,{style:`day`}),minutes:i,level:a})}}let o=new Map;for(let t of e)t.piece&&o.set(t.piece,(o.get(t.piece)??0)+t.minutes);let s=[...o.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>({name:e,minutes:t})),c=e.reduce((e,t)=>e+t.minutes,0),l=0;if(n.length>0){let e=new Set(n),t=Date.parse(`${n[n.length-1]}T00:00:00.000Z`);for(;e.has(Ce(t));)l+=1,t-=ve}return{cells:r,pieces:s,totalMinutes:c,streakDays:typeof a==`number`&&Number.isFinite(a)&&a>=0?Math.round(a):l,sorted:[...e].sort((e,t)=>t.dateMs-e.dateMs),hasAnySession:e.length>0}},[i,a]),b=y(h,{duration:900,delay:c,decimals:0});return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,r&&(0,E.jsx)(`span`,{className:`lr-pl-instrument`,children:r})]}),v?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)(`div`,{className:`lr-pl-stats`,children:[(0,E.jsxs)(`div`,{className:`lr-pl-stat`,children:[(0,E.jsx)(`span`,{className:`lr-pl-stat-v`,children:b}),(0,E.jsx)(`span`,{className:`lr-pl-stat-k`,children:`min logged`})]}),g>0&&(0,E.jsxs)(`div`,{className:`lr-pl-stat lr-pl-stat--streak`,children:[(0,E.jsx)(`span`,{className:`lr-pl-stat-v`,children:d(g)}),(0,E.jsx)(`span`,{className:`lr-pl-stat-k`,children:`day streak`})]})]}),p.length>0&&(0,E.jsx)(`div`,{className:`lr-pl-heat-wrap`,children:(0,E.jsx)(`div`,{className:`lr-pl-heat`,children:p.map(e=>(0,E.jsx)(`span`,{className:`lr-pl-heat-cell`,style:{background:Te(e.level,n)},title:`${e.label} · ${d(e.minutes,{unit:`min`})}`},e.key))})}),(0,E.jsx)(`ul`,{className:`lr-pl-sessions`,children:_.slice(0,be).map((e,t)=>(0,E.jsxs)(`li`,{className:`lr-pl-session m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,E.jsx)(`span`,{className:`lr-pl-session-date`,children:e.dateKey?f(e.dateMs,{style:`day`}):`—`}),(0,E.jsx)(`span`,{className:`lr-pl-session-min`,children:d(e.minutes,{unit:`min`})}),(0,E.jsxs)(`span`,{className:`lr-pl-session-body`,children:[e.piece&&(0,E.jsx)(`b`,{children:e.piece}),e.focus&&(0,E.jsx)(`span`,{className:`lr-pl-session-focus`,children:e.focus}),e.note&&(0,E.jsx)(`span`,{className:`lr-pl-session-note`,children:e.note}),!e.piece&&!e.focus&&!e.note&&(0,E.jsx)(`span`,{className:`faint`,children:`Practice session`})]})]},e.key))}),_.length>be&&(0,E.jsxs)(`p`,{className:`lr-pl-more`,children:[`+`,_.length-be,` earlier sessions`]}),m.length>0&&(0,E.jsxs)(`div`,{className:`lr-pl-pieces`,children:[m.slice(0,xe).map(e=>(0,E.jsxs)(`span`,{className:`lr-pl-piece-tag`,children:[e.name,` `,(0,E.jsx)(`b`,{children:d(e.minutes,{unit:`min`})})]},e.name)),m.length>xe&&(0,E.jsxs)(`span`,{className:`lr-pl-piece-tag lr-pl-piece-tag--more`,children:[`+`,m.length-xe,` more`]})]})]}):(0,E.jsx)(`div`,{className:`lr-pl-empty`,children:`No practice sessions logged yet.`}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(o)})]})}var F=a(),De=0,I=()=>`m${De++}`;function Oe(e){if(typeof e==`string`)return(0,E.jsx)(`mn`,{children:e},I());switch(e.t){case`num`:return(0,E.jsx)(`mn`,{children:e.v},I());case`ident`:return(0,E.jsx)(`mi`,{children:e.v},I());case`op`:return(0,E.jsx)(`mo`,{children:e.v},I());case`row`:return(0,E.jsx)(`mrow`,{children:e.items.map(Oe)},I());case`frac`:return(0,E.jsxs)(`mfrac`,{children:[L(e.num),L(e.den)]},I());case`sup`:return(0,E.jsxs)(`msup`,{children:[L(e.base),L(e.sup)]},I());case`sub`:return(0,E.jsxs)(`msub`,{children:[L(e.base),L(e.sub)]},I());case`subsup`:return(0,E.jsxs)(`msubsup`,{children:[L(e.base),L(e.sub),L(e.sup)]},I());case`sqrt`:return e.index===void 0?(0,E.jsx)(`msqrt`,{children:L(e.arg)},I()):(0,E.jsxs)(`mroot`,{children:[L(e.arg),L(e.index)]},I());case`group`:return(0,E.jsxs)(`mrow`,{children:[(0,E.jsx)(`mo`,{children:e.open??`(`}),e.items.map(Oe),(0,E.jsx)(`mo`,{children:e.close??`)`})]},I());case`sum`:return ke(`∑`,e.lower,e.upper,e.arg);case`int`:return ke(`∫`,e.lower,e.upper,e.arg);default:return null}}function ke(e,t,n,r){let i=(0,E.jsx)(`mo`,{children:e}),a;return a=t!==void 0&&n!==void 0?(0,E.jsxs)(`munderover`,{children:[i,L(t),L(n)]}):t===void 0?i:(0,E.jsx)(`munder`,{children:[i,L(t)]}),(0,E.jsxs)(`mrow`,{children:[a,L(r)]},I())}function L(e){return typeof e!=`string`&&(e.t===`row`||e.t===`frac`||e.t===`group`)?Oe(e):(0,E.jsx)(`mrow`,{children:Oe(e)},I())}function Ae(e){let t=(0,F.c)(6),{node:n,display:r,label:i}=e,a=r?`block`:`inline`,o=i??`mathematical expression`,s;t[0]===n?s=t[1]:(s=Oe(n),t[0]=n,t[1]=s);let c;return t[2]!==a||t[3]!==o||t[4]!==s?(c=(0,E.jsx)(`math`,{display:a,className:`lr-math`,"aria-label":o,children:s}),t[2]=a,t[3]=o,t[4]=s,t[5]=c):c=t[5],c}i();function je({tex:e,display:t,label:n}){let[r,i]=(0,P.useState)(null);return(0,P.useEffect)(()=>{let n=!1;return i(null),(async()=>{try{let r=await o(()=>import(`./katex-BMCG0xok.js`),[]),a=(r.default??r).renderToString(e,{displayMode:!!t,output:`mathml`,throwOnError:!1,trust:!1});n||i(a)}catch{n||i(null)}})(),()=>{n=!0}},[e,t]),r===null?(0,E.jsx)(`span`,{className:`lr-tex lr-tex-raw`,"aria-label":n??`mathematical expression`,children:e}):(0,E.jsx)(`span`,{className:`lr-tex`,role:`img`,"aria-label":n??`mathematical expression`,dangerouslySetInnerHTML:{__html:r}})}function Me({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,tex:r,math:i,number:a,caption:o,inline:c=!1,footer:u,delay:d}){let f=s[t]||s.sparkle,p=r??(typeof i==`string`&&i.includes(`\\`)?i:void 0);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`lr-eq`+(c?` inline`:``),children:[(0,E.jsx)(`div`,{className:`lr-eq-body`,"data-mark":`underline`,children:p===void 0?i===void 0?null:(0,E.jsx)(Ae,{node:i,display:!c,label:e}):(0,E.jsx)(je,{tex:p,display:!c,label:e})}),a&&(0,E.jsx)(`span`,{className:`lr-eq-num`,children:a})]}),o&&(0,E.jsx)(`div`,{className:`lr-eq-cap`,children:o}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}var Ne=320,Pe=92,R=18,z=54,Fe=5.4,Ie=12,Le=3;function Re(e){let t=e.map((e,t)=>t).sort((t,n)=>e[t].x-e[n].x),n=[],r=Array(e.length).fill(0);for(let i of t){let t=e[i].text.length*Fe/2,a=e[i].x-t,o=0;for(;n[o]!==void 0&&a<n[o]+Le;)o++;r[i]=o,n[o]=e[i].x+t}return r}function ze({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,min:r,max:i,step:a,unit:o,points:c=[],intervals:u=[],footer:f,delay:h}){let _=s[t]||s.chart,{x:v,tickVals:y,showEvery:b}=(0,P.useMemo)(()=>{let e=Math.min(r,i),t=Math.max(r,i),n=m([e,t],[R,Ne-R]),s=p(e,t,a&&a>0?a:g(t-e,6)),c=s.reduce((e,t)=>Math.max(e,String(t).length+(o?o.length+1:0)),0)*6.5,l=s.length>1?(Ne-R*2)/(s.length-1):Ne;return{x:n,tickVals:s,showEvery:c>l*.8?Math.ceil(c/(l*.8)):1}},[r,i,a,o]),x=e=>Math.max(R,Math.min(Ne-R,v(e))),S=e=>d(e,{unit:o||void 0}),C=(0,P.useMemo)(()=>{let e=u.map(e=>({x:(x(Math.min(e.from,e.to))+x(Math.max(e.from,e.to)))/2,text:e.label??``})),t=c.map(e=>({x:x(e.value),text:e.label??``})),n=[...e,...t].map((e,t)=>({item:e,i:t})).filter(({item:e})=>e.text),r=Re(n.map(({item:e})=>e)),i=Array(u.length).fill(0),a=Array(c.length).fill(0);return n.forEach(({i:t},n)=>{t<e.length?i[t]=r[n]:a[t-e.length]=r[n]}),{ivRows:i,ptRows:a}},[u,c,v]),w=Pe+Math.max(0,...C.ivRows,...C.ptRows)*Ie;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-nl`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Ne} ${w}`,className:`lr-nl-svg`,role:`img`,"aria-label":e,children:[u.map((e,t)=>{let n=e.color||`var(--presence)`,r=x(Math.min(e.from,e.to)),i=x(Math.max(e.from,e.to));return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`rect`,{x:r,y:z-5,width:Math.max(0,i-r),height:10,rx:5,fill:`color-mix(in oklab, ${n} 22%, transparent)`}),(0,E.jsx)(Be,{cx:r,open:e.openFrom,color:n}),(0,E.jsx)(Be,{cx:i,open:e.openTo,color:n}),e.label&&(0,E.jsx)(`text`,{x:(r+i)/2,y:z-12-C.ivRows[t]*Ie,className:`lr-nl-ivlbl`,textAnchor:`middle`,children:e.label})]},`iv${t}`)}),(0,E.jsx)(`line`,{x1:R,y1:z,x2:Ne-R,y2:z,className:`lr-nl-axis`}),(0,E.jsx)(`polyline`,{points:`24,${z-4} ${R},${z} 24,58`,className:`lr-nl-arrow`}),(0,E.jsx)(`polyline`,{points:`${Ne-R-6},${z-4} ${Ne-R},${z} ${Ne-R-6},58`,className:`lr-nl-arrow`}),y.map((e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:v(e),y1:z-4,x2:v(e),y2:58,className:`lr-nl-tick`}),t%b===0&&(0,E.jsx)(`text`,{x:v(e),y:72,className:`lr-nl-ticklbl`,textAnchor:`middle`,children:S(e)})]},`t${t}`)),c.map((e,t)=>{let n=e.color||`var(--insight)`,r=x(e.value);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:r,cy:z,r:5,fill:e.open?`var(--surface-default)`:n,stroke:n,strokeWidth:2,"data-mark":t===0?`point`:void 0}),e.label&&(0,E.jsx)(`text`,{x:r,y:z-12-C.ptRows[t]*Ie,className:`lr-nl-plbl`,textAnchor:`middle`,children:e.label})]},`p${t}`)})]})}),f&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(f)})]})}function Be(e){let t=(0,F.c)(4),{cx:n,open:r,color:i}=e,a=r?`var(--surface-default)`:i,o;return t[0]!==i||t[1]!==n||t[2]!==a?(o=(0,E.jsx)(`circle`,{cx:n,cy:z,r:4,fill:a,stroke:i,strokeWidth:1.6}),t[0]=i,t[1]=n,t[2]=a,t[3]=o):o=t[3],o}function Ve({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,problem:r,steps:i,result:a,progressive:o=!0,footer:c,delay:u}){let d=s[t]||s.sparkle,[f,p]=(0,P.useState)(o?1:i.length),m=f>=i.length,h=m;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,E.jsx)(`div`,{className:`lr-wx-problem`,dangerouslySetInnerHTML:l(r)}),(0,E.jsx)(`ol`,{className:`lr-wx-steps`,children:i.slice(0,f).map((e,t)=>(0,E.jsxs)(`li`,{className:`lr-wx-step`,children:[(0,E.jsx)(`span`,{className:`lr-wx-num`,children:t+1}),(0,E.jsxs)(`div`,{className:`lr-wx-body`,children:[(0,E.jsx)(`div`,{className:`lr-wx-label`,children:e.label}),e.math&&(0,E.jsx)(`div`,{className:`lr-wx-math`,children:(0,E.jsx)(Ae,{node:e.math,display:!0,label:e.label})}),e.why&&(0,E.jsx)(`div`,{className:`lr-wx-why`,dangerouslySetInnerHTML:l(e.why)})]})]},t))}),o&&!m&&(0,E.jsxs)(`button`,{className:`mini-btn lr-wx-next`,onClick:()=>p(e=>Math.min(i.length,e+1)),children:[(0,E.jsx)(s.arrowDown,{}),` Next step (`,f,`/`,i.length,`)`]}),a&&h&&(0,E.jsxs)(`div`,{className:`lr-wx-result`,"data-mark":`underline`,children:[(0,E.jsx)(`span`,{className:`lr-wx-result-tag`,children:`Answer`}),(0,E.jsx)(Ae,{node:a,display:!0,label:`answer`})]}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}function He({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,cards:r,footer:i,delay:a}){let o=s[t]||s.sparkle,[c,u]=(0,P.useState)(0),[d,f]=(0,P.useState)(!1),p=r[c],m=e=>{u(t=>Math.max(0,Math.min(r.length-1,t+e))),f(!1)};return p?(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(o,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`button`,{className:`lr-fc`+(d?` flipped`:``),onClick:()=>f(e=>!e),onKeyDown:e=>{e.key===`ArrowRight`?m(1):e.key===`ArrowLeft`?m(-1):(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),f(e=>!e))},"aria-label":d?`Showing answer — click to flip back`:`Showing prompt — click to reveal`,children:(0,E.jsxs)(`div`,{className:`lr-fc-inner`,children:[(0,E.jsxs)(`div`,{className:`lr-fc-face lr-fc-front`,children:[p.tag&&(0,E.jsx)(`span`,{className:`lr-fc-tag`,children:p.tag}),(0,E.jsx)(`span`,{className:`lr-fc-text`,dangerouslySetInnerHTML:l(p.front)}),(0,E.jsx)(`span`,{className:`lr-fc-hint`,children:`Click to flip`})]}),(0,E.jsx)(`div`,{className:`lr-fc-face lr-fc-back`,children:(0,E.jsx)(`span`,{className:`lr-fc-text`,dangerouslySetInnerHTML:l(p.back)})})]})}),(0,E.jsxs)(`div`,{className:`lr-fc-nav`,children:[(0,E.jsx)(`button`,{className:`mini-btn lr-fc-prev`,onClick:()=>m(-1),disabled:c===0,"aria-label":`Previous`,children:(0,E.jsx)(s.chevR,{})}),(0,E.jsxs)(`span`,{className:`lr-fc-count tab-num`,children:[c+1,` / `,r.length]}),(0,E.jsx)(`button`,{className:`mini-btn`,onClick:()=>m(1),disabled:c===r.length-1,"aria-label":`Next`,children:(0,E.jsx)(s.chevR,{})})]}),i&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(i)})]}):null}i();var Ue=12,We=100-Ue*2,Ge=[`₀`,`₁`,`₂`,`₃`,`₄`,`₅`,`₆`,`₇`,`₈`,`₉`],Ke=e=>e.replace(/\d/g,e=>Ge[+e]);function qe(e){if(!e)return;let t=Math.abs(e)>1?String(Math.abs(e)):``;return e>0?`${t}+`:`${t}−`}function Je(e,t){if(!e.length)return null;let n=e.map(e=>e.x),r=e.map(e=>e.y),i=Math.min(...n),a=Math.max(...n),o=Math.min(...r),s=Math.max(...r),c=a-i||1,l=s-o||1,u=We/Math.max(c,l),d=Ue+(We-c*u)/2,f=Ue+(We-l*u)/2;return{atoms:e.map(e=>{let t={el:e.el,x:d+(e.x-i)*u,y:f+(s-e.y)*u};return e.isCarbon&&(t.implicit=!0),e.charge&&(t.charge=e.charge),t}),bonds:t.map(e=>({from:e.from,to:e.to,order:e.order}))}}var Ye=r(()=>o(()=>import(`./openchemlib-nMLMmg26.js`).then(e=>e.default??e),[]));function Xe(){return Ye().catch(()=>null)}var Ze=e=>e===2?2:e===3?3:1;async function Qe(e){let t=await Xe();if(!t)return null;let n;try{n=t.Molecule.fromSmiles(e)}catch{return null}if(!n)return null;let r=n.getAllAtoms();if(!r)return null;let i=[];for(let e=0;e<r;e++){let t=n.getAtomicNo(e);i.push({el:n.getAtomLabel(e),x:n.getAtomX(e),y:n.getAtomY(e),isCarbon:t===6,charge:qe(n.getAtomCharge(e))})}let a=[],o=n.getAllBonds();for(let e=0;e<o;e++)a.push({from:n.getBondAtom(0,e),to:n.getBondAtom(1,e),order:Ze(n.getBondOrder(e))});let s=Je(i,a);if(!s)return null;try{let e=n.getMolecularFormula?.()?.formula;e&&(s.formula=Ke(e))}catch{}return s}function $e(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=Math.hypot(r,i)||1,o=-i/a*1.6,s=r/a*1.6;return n===2?[-1,1].map(e=>({ox:o*e,oy:s*e})):n===3?[-1,0,1].map(e=>({ox:o*e,oy:s*e})):[{ox:0,oy:0}]}function et({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,smiles:r,atoms:i,bonds:a,formula:o,footer:c,delay:u}){let d=s[t]||s.sparkle,f=Array.isArray(i)&&i.length>0,[p,m]=(0,P.useState)(null),[h,g]=(0,P.useState)(f?`ready`:r?`loading`:`error`);(0,P.useEffect)(()=>{if(f||!r)return;let e=!0;return g(`loading`),m(null),Qe(r).then(t=>{e&&(t?(m(t),g(`ready`)):g(`error`))}).catch(()=>{e&&g(`error`)}),()=>{e=!1}},[r,f]);let _=f?i:p?.atoms,v=f?a:p?.bonds,y=o??p?.formula,b=(e,t)=>{if(!_)return null;let n=_[e.from],r=_[e.to];return!n||!r?null:$e(n,r,e.order??1).map((e,i)=>(0,E.jsx)(`line`,{x1:n.x+e.ox,y1:n.y+e.oy,x2:r.x+e.ox,y2:r.y+e.oy,className:`lr-mol-bond`},`${t}-${i}`))},x=h===`ready`&&_&&v&&_.length>0;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-mol`,children:h===`loading`?(0,E.jsxs)(`div`,{className:`lr-mol-loading`,"aria-hidden":`true`,children:[(0,E.jsx)(`span`,{className:`lr-mol-spinner`}),` Building structure…`]}):x?(0,E.jsxs)(`svg`,{viewBox:`-8 -8 116 116`,className:`lr-mol-svg`,role:`img`,"aria-label":e,children:[v.map(b),_.map((e,t)=>e.implicit?null:(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:e.x,cy:e.y,r:6.5,className:`lr-mol-atom-bg`}),(0,E.jsx)(`text`,{x:e.x,y:e.y+2.6,className:`lr-mol-atom`,textAnchor:`middle`,children:e.el}),e.charge&&(0,E.jsx)(`text`,{x:e.x+6,y:e.y-4,className:`lr-mol-charge`,textAnchor:`middle`,children:e.charge})]},t))]}):(0,E.jsx)(`p`,{className:`lr-mol-err`,children:`Couldn’t render this structure.`})}),y&&(0,E.jsx)(`div`,{className:`lr-mol-formula tab-num`,children:y}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(c)})]})}var tt=18,nt=9;function rt({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,elements:r,categories:i=[],footer:a,delay:o}){let c=s[t]||s.sparkle,[u,d]=(0,P.useState)(null),f=(0,P.useMemo)(()=>{let e={};return i.forEach(t=>e[t.key]=t.color),e},[i]),p=r.find(e=>e.on)?.z,m=u==null?null:r[u];return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`lr-pt`,onMouseLeave:()=>d(null),children:[(0,E.jsx)(`div`,{className:`lr-pt-grid`,style:{gridTemplateColumns:`repeat(${tt}, 1fr)`,gridTemplateRows:`repeat(${nt}, auto)`},children:r.map((e,t)=>{let n=e.cat?f[e.cat]||`var(--presence)`:`var(--text-muted)`;return(0,E.jsxs)(`button`,{className:`lr-pt-cell`+(e.on?` on`:``)+(u===t?` hot`:``),"data-mark":e.z===p?`circle`:void 0,style:{gridColumn:Math.max(1,Math.min(tt,e.col)),gridRow:Math.max(1,Math.min(nt,e.row)),"--c":n},onMouseEnter:()=>d(t),onFocus:()=>d(t),"aria-label":e.name||e.symbol,children:[(0,E.jsx)(`span`,{className:`lr-pt-z`,children:e.z}),(0,E.jsx)(`span`,{className:`lr-pt-sym`,children:e.symbol})]},e.z)})}),m&&(0,E.jsxs)(`div`,{className:`lr-pt-detail`,children:[(0,E.jsx)(`span`,{className:`lr-pt-detail-sym`,style:{color:m.cat?f[m.cat]:void 0},children:m.symbol}),(0,E.jsxs)(`span`,{className:`lr-pt-detail-body`,children:[(0,E.jsx)(`b`,{children:m.name||m.symbol}),(0,E.jsxs)(`span`,{className:`faint tab-num`,children:[` · Z `,m.z]})]})]}),i.length>0&&(0,E.jsx)(`div`,{className:`lr-pt-key`,children:i.map(e=>(0,E.jsxs)(`span`,{className:`lr-pt-key-item`,children:[(0,E.jsx)(`i`,{style:{background:e.color}}),` `,e.label]},e.key))})]}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(a)})]})}var it=14;function at(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var ot={head:{kind:`circle`,cx:60,cy:24,r:19,lx:80,ly:20,labelAnchor:`start`},neck:{kind:`rect`,x:53,y:43,width:14,height:12,lx:74,ly:51,labelAnchor:`start`},leftShoulder:{kind:`ellipse`,cx:31,cy:64,rx:11,ry:9,lx:14,ly:58,labelAnchor:`end`},rightShoulder:{kind:`ellipse`,cx:89,cy:64,rx:11,ry:9,lx:106,ly:58,labelAnchor:`start`},torsoUpper:{kind:`polygon`,points:`30,58 90,58 86,112 34,112`,lx:60,ly:88,labelAnchor:`middle`},torsoMid:{kind:`polygon`,points:`34,112 86,112 87,150 33,150`,lx:60,ly:133,labelAnchor:`middle`},torsoLow:{kind:`polygon`,points:`33,150 87,150 84,180 36,180`,lx:60,ly:167,labelAnchor:`middle`},leftUpperArm:{kind:`polygon`,points:`9,62 27,65 25,114 12,112`,lx:6,ly:88,labelAnchor:`end`},rightUpperArm:{kind:`polygon`,points:`111,62 93,65 95,114 108,112`,lx:114,ly:88,labelAnchor:`start`},leftForearm:{kind:`polygon`,points:`12,114 25,116 22,166 11,164`,lx:6,ly:146,labelAnchor:`end`},rightForearm:{kind:`polygon`,points:`108,114 95,116 98,166 109,164`,lx:114,ly:146,labelAnchor:`start`},leftHand:{kind:`ellipse`,cx:14,cy:176,rx:7,ry:10,lx:6,ly:182,labelAnchor:`end`},rightHand:{kind:`ellipse`,cx:106,cy:176,rx:7,ry:10,lx:114,ly:182,labelAnchor:`start`},leftThigh:{kind:`polygon`,points:`37,180 58,180 55,230 41,230`,lx:30,ly:206,labelAnchor:`end`},rightThigh:{kind:`polygon`,points:`83,180 62,180 65,230 79,230`,lx:90,ly:206,labelAnchor:`start`},leftKnee:{kind:`ellipse`,cx:48,cy:236,rx:9,ry:7,lx:30,ly:238,labelAnchor:`end`},rightKnee:{kind:`ellipse`,cx:72,cy:236,rx:9,ry:7,lx:90,ly:238,labelAnchor:`start`},leftShin:{kind:`polygon`,points:`42,242 54,242 52,272 44,272`,lx:34,ly:260,labelAnchor:`end`},rightShin:{kind:`polygon`,points:`78,242 66,242 68,272 76,272`,lx:86,ly:260,labelAnchor:`start`},leftFoot:{kind:`rect`,x:39,y:272,width:18,height:8,lx:34,ly:278,labelAnchor:`end`},rightFoot:{kind:`rect`,x:63,y:272,width:18,height:8,lx:86,ly:278,labelAnchor:`start`}},st=[`leftUpperArm`,`rightUpperArm`,`leftForearm`,`rightForearm`,`leftHand`,`rightHand`,`leftThigh`,`rightThigh`,`leftKnee`,`rightKnee`,`leftShin`,`rightShin`,`leftFoot`,`rightFoot`,`leftShoulder`,`rightShoulder`,`torsoUpper`,`torsoMid`,`torsoLow`,`neck`,`head`],ct={anterior:{head:`Head`,neck:`Neck`,leftShoulder:`Shoulder`,rightShoulder:`Shoulder`,torsoUpper:`Chest`,torsoMid:`Abdomen`,torsoLow:`Hips`,leftUpperArm:`Upper arm`,rightUpperArm:`Upper arm`,leftForearm:`Forearm`,rightForearm:`Forearm`,leftHand:`Hand`,rightHand:`Hand`,leftThigh:`Thigh`,rightThigh:`Thigh`,leftKnee:`Knee`,rightKnee:`Knee`,leftShin:`Shin`,rightShin:`Shin`,leftFoot:`Foot`,rightFoot:`Foot`},posterior:{head:`Head`,neck:`Neck`,leftShoulder:`Shoulder`,rightShoulder:`Shoulder`,torsoUpper:`Upper back`,torsoMid:`Lower back`,torsoLow:`Glutes`,leftUpperArm:`Upper arm`,rightUpperArm:`Upper arm`,leftForearm:`Forearm`,rightForearm:`Forearm`,leftHand:`Hand`,rightHand:`Hand`,leftThigh:`Hamstring`,rightThigh:`Hamstring`,leftKnee:`Knee`,rightKnee:`Knee`,leftShin:`Calf`,rightShin:`Calf`,leftFoot:`Foot`,rightFoot:`Foot`}},lt={head:[`head`],neck:[`neck`],leftShoulder:[`leftShoulder`],rightShoulder:[`rightShoulder`],shoulders:[`leftShoulder`,`rightShoulder`],chest:[`torsoUpper`],abdomen:[`torsoMid`],hips:[`torsoLow`],upperBack:[`torsoUpper`],lowerBack:[`torsoMid`],glutes:[`torsoLow`],back:[`torsoUpper`,`torsoMid`],torso:[`torsoUpper`,`torsoMid`,`torsoLow`],core:[`torsoMid`],leftUpperArm:[`leftUpperArm`],rightUpperArm:[`rightUpperArm`],leftForearm:[`leftForearm`],rightForearm:[`rightForearm`],leftHand:[`leftHand`],rightHand:[`rightHand`],leftArm:[`leftUpperArm`,`leftForearm`,`leftHand`],rightArm:[`rightUpperArm`,`rightForearm`,`rightHand`],leftThigh:[`leftThigh`],rightThigh:[`rightThigh`],leftHamstring:[`leftThigh`],rightHamstring:[`rightThigh`],leftKnee:[`leftKnee`],rightKnee:[`rightKnee`],leftShin:[`leftShin`],rightShin:[`rightShin`],leftCalf:[`leftShin`],rightCalf:[`rightShin`],leftFoot:[`leftFoot`],rightFoot:[`rightFoot`],leftLeg:[`leftThigh`,`leftKnee`,`leftShin`],rightLeg:[`rightThigh`,`rightKnee`,`rightShin`]},ut=[`head`,`neck`,`leftShoulder`,`torsoUpper`,`torsoMid`,`torsoLow`,`leftUpperArm`,`leftForearm`,`leftHand`,`leftThigh`,`leftKnee`,`leftShin`,`leftFoot`];function dt(e){let t=(0,F.c)(29),{id:n,shape:r,highlighted:i,color:a,salient:o}=e,s=i?a:`color-mix(in oklab, var(--text-secondary) 14%, transparent)`,c=i?a:`var(--line-strong)`,l=i?1.5:.8,u=`bm-region`+(i?` bm-region--on`:``),d;t[0]===o?d=t[1]:(d=o?{"data-mark":`circle`}:{},t[0]=o,t[1]=d);let f;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l||t[6]!==u||t[7]!==d?(f={"data-id":n,fill:s,stroke:c,strokeWidth:l,className:u,...d},t[2]=s,t[3]=n,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p=f;if(r.kind===`circle`){let e;return t[9]!==r.cx||t[10]!==r.cy||t[11]!==r.r||t[12]!==p?(e=(0,E.jsx)(`circle`,{...p,cx:r.cx,cy:r.cy,r:r.r}),t[9]=r.cx,t[10]=r.cy,t[11]=r.r,t[12]=p,t[13]=e):e=t[13],e}if(r.kind===`ellipse`){let e;return t[14]!==r.cx||t[15]!==r.cy||t[16]!==r.rx||t[17]!==r.ry||t[18]!==p?(e=(0,E.jsx)(`ellipse`,{...p,cx:r.cx,cy:r.cy,rx:r.rx,ry:r.ry}),t[14]=r.cx,t[15]=r.cy,t[16]=r.rx,t[17]=r.ry,t[18]=p,t[19]=e):e=t[19],e}if(r.kind===`polygon`){let e;return t[20]!==r.points||t[21]!==p?(e=(0,E.jsx)(`polygon`,{...p,points:r.points}),t[20]=r.points,t[21]=p,t[22]=e):e=t[22],e}let m;return t[23]!==r.height||t[24]!==r.width||t[25]!==r.x||t[26]!==r.y||t[27]!==p?(m=(0,E.jsx)(`rect`,{...p,x:r.x,y:r.y,width:r.width,height:r.height,rx:3,ry:3}),t[23]=r.height,t[24]=r.width,t[25]=r.x,t[26]=r.y,t[27]=p,t[28]=m):m=t[28],m}function ft({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,regions:r=[],side:i=`anterior`,footer:a,delay:o}){let c=s[t]||s.sparkle,u=i===`posterior`?`posterior`:`anterior`,d=new Map,f=[],p;if(r.forEach((e,t)=>{let n=lt[e.id];if(!n||!n.length)return;let r=e.color??`var(--presence)`;n.forEach(e=>d.set(e,r));let i=ot[n[0]];t===0&&(p=n[0]),i&&f.push({x:i.lx,y:i.ly,anchor:i.labelAnchor,text:e.label??ct[u][n[0]]??e.id,color:r,muted:!1})}),!f.length)for(let e of ut){let t=ot[e],n=ct[u][e];t&&n&&f.push({x:t.lx,y:t.ly,anchor:t.labelAnchor,text:n,color:`var(--text-muted)`,muted:!0})}return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e,(0,E.jsx)(`span`,{className:`bm-side-tag`,children:u===`posterior`?`back`:`front`})]}),(0,E.jsxs)(`div`,{className:`bm-layout`,children:[(0,E.jsx)(`div`,{className:`bm-svg-wrap`,role:`img`,"aria-label":`Human body diagram — ${u} view`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 120 286`,className:`bm-svg`,"aria-hidden":`true`,children:[st.map(e=>{let t=ot[e];if(!t)return null;let n=d.get(e);return(0,E.jsx)(dt,{id:e,shape:t,highlighted:n!=null,color:n??`var(--presence)`,salient:e===p},e)}),f.map((e,t)=>(0,E.jsxs)(`text`,{x:e.x,y:e.y,textAnchor:e.anchor,className:`bm-label`+(e.muted?` bm-label--muted`:``),fill:e.color,children:[e.text.length>it&&(0,E.jsx)(`title`,{children:e.text}),at(e.text,it)]},t))]})}),r.length>0&&(0,E.jsx)(`ul`,{className:`bm-legend`,"aria-label":`Highlighted regions`,children:r.map(e=>{let t=e.color??`var(--presence)`,n=lt[e.id],r=e.label??(n?.length?ct[u][n[0]]:void 0)??e.id;return(0,E.jsxs)(`li`,{className:`bm-legend-item`,children:[(0,E.jsx)(`span`,{className:`bm-legend-dot`,style:{background:t},"aria-hidden":`true`}),(0,E.jsxs)(`span`,{className:`bm-legend-body`,children:[(0,E.jsx)(`span`,{className:`bm-legend-name`,children:r}),e.note&&(0,E.jsx)(`span`,{className:`bm-legend-note`,children:e.note})]})]},e.id)})})]}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(a)})]})}var B=320,pt=256,mt=34,ht=10,gt=14,_t=22,vt=`var(--text-secondary)`,yt=9,bt=yt*.62;function xt(e){return e.length*bt}function St(e,t){let n=[-45,-90,0,45,90,-135,135,180].map(e=>e*Math.PI/180),r=[],i=yt*1.15;function a(e){let n=Math.max(t.left,t.right-e.w),r=Math.max(t.top,t.bottom-e.h);return{x:Math.min(Math.max(e.x,t.left),n),y:Math.min(Math.max(e.y,t.top),r),w:e.w,h:e.h}}return e.map(e=>{let t=xt(e.label),o=null,s=1/0;for(let c of n){let n=e.r+3+Math.max(t,i)/2,l=e.x+Math.cos(c)*n,u=e.y+Math.sin(c)*n,d=Math.cos(c)>.35?`start`:Math.cos(c)<-.35?`end`:`middle`,f=a({x:d===`start`?l:d===`end`?l-t:l-t/2,y:u-i/2,w:t,h:i}),p=r.reduce((e,t)=>e+ +(f.x<t.x+t.w&&f.x+f.w>t.x&&f.y<t.y+t.h&&f.y+f.h>t.y),0);if(p<s&&(s=p,o={x:d===`start`?f.x:d===`end`?f.x+t:f.x+t/2,y:f.y+i/2,anchor:d},p===0))break}let c=o??{x:e.x+e.r+3,y:e.y,anchor:`start`},l=c.anchor===`start`?c.x:c.anchor===`end`?c.x-t:c.x-t/2;return r.push(a({x:l,y:c.y-i/2,w:t,h:i})),c})}function Ct(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*9,s=r-Math.sin(i)*9,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4},${s+Math.sin(c)*4}`,d=`${o-Math.cos(c)*4},${s-Math.sin(c)*4}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,E.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function wt(e){let t=(0,F.c)(26),{vx:n,vy:r,ax:i,ay:a,bx:o,by:s,label:c,color:l,rightAngle:u}=e,d;t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==r?(d=Math.hypot(i-n,a-r)||1,t[0]=i,t[1]=a,t[2]=n,t[3]=r,t[4]=d):d=t[4];let f=d,p;t[5]!==o||t[6]!==s||t[7]!==n||t[8]!==r?(p=Math.hypot(o-n,s-r)||1,t[5]=o,t[6]=s,t[7]=n,t[8]=r,t[9]=p):p=t[9];let m=p,h=(i-n)/f,g=(a-r)/f,_=(o-n)/m,v=(s-r)/m;if(u){let e=n+h*9.36,i=r+g*9.36,a=n+_*9.36,o=r+v*9.36,s=`M ${e},${i} L ${e+_*9.36},${i+v*9.36} L ${a},${o}`,c;return t[10]!==l||t[11]!==s?(c=(0,E.jsx)(`path`,{d:s,stroke:l,fill:`none`,className:`lr-gc-angle-sq`}),t[10]=l,t[11]=s,t[12]=c):c=t[12],c}let y=n+h*13,b=r+g*13,x=n+_*13,S=r+v*13,C=+(h*v-g*_<=0),w=h+_,T=g+v,D;t[13]!==w||t[14]!==T?(D=Math.hypot(w,T)||1,t[13]=w,t[14]=T,t[15]=D):D=t[15];let O=D,k=n+w/O*22,A=r+T/O*22,j=`M ${y},${b} A 13,13 0 0,${C} ${x},${S}`,M;t[16]!==l||t[17]!==j?(M=(0,E.jsx)(`path`,{d:j,stroke:l,fill:`none`,className:`lr-gc-angle-arc`}),t[16]=l,t[17]=j,t[18]=M):M=t[18];let N;t[19]!==c||t[20]!==k||t[21]!==A?(N=c&&(0,E.jsx)(`text`,{x:k,y:A,className:`lr-gc-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:c}),t[19]=c,t[20]=k,t[21]=A,t[22]=N):N=t[22];let ee;return t[23]!==M||t[24]!==N?(ee=(0,E.jsxs)(E.Fragment,{children:[M,N]}),t[23]=M,t[24]=N,t[25]=ee):ee=t[25],ee}function Tt({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,xRange:r,yRange:i,xLabel:a,yLabel:o,showGrid:c=!0,points:u=[],segments:d=[],polygons:f=[],circles:p=[],vectors:g=[],angles:v=[],annotations:y=[],footer:b,delay:x}){let S=s[t]||s.chart,C=(0,P.useId)(),{sx:w,sy:T,xTicks:D,yTicks:O,axisXsvg:k,axisYsvg:A}=(0,P.useMemo)(()=>{let e=[...u.map(e=>e.x),...d.flatMap(e=>[e.x1,e.x2]),...f.flatMap(e=>e.vertices.map(e=>e.x)),...p.flatMap(e=>[e.cx-e.r,e.cx+e.r]),...g.flatMap(e=>[e.x,e.x+e.dx]),...v.flatMap(e=>[e.vertex.x,e.from.x,e.to.x]),...y.map(e=>e.x)],t=[...u.map(e=>e.y),...d.flatMap(e=>[e.y1,e.y2]),...f.flatMap(e=>e.vertices.map(e=>e.y)),...p.flatMap(e=>[e.cy-e.r,e.cy+e.r]),...g.flatMap(e=>[e.y,e.y+e.dy]),...v.flatMap(e=>[e.vertex.y,e.from.y,e.to.y]),...y.map(e=>e.y)],n=_(e),a=_(t),[o,s]=r??(n?h(n[0],n[1]):[-5,5]),[c,l]=i??(a?h(a[0],a[1]):[-5,5]),b=m([o,s],[mt,B-ht]),x=m([c,l],[pt-_t,gt]),S=Math.max(gt,Math.min(pt-_t,x(0))),C=Math.max(mt,Math.min(B-ht,b(0)));return{sx:b,sy:x,xTicks:b.ticks(6),yTicks:x.ticks(5),axisXsvg:C,axisYsvg:S}},[r,i,u,d,f,p,g,v,y]),j=(0,P.useMemo)(()=>St(u.filter(e=>e.label).map(e=>({x:w(e.x),y:T(e.y),r:e.r??4,label:e.label})),{left:2,top:2,right:B-2,bottom:pt-2}),[u,w,T]),M=e=>{let t=w(e.x1),n=T(e.y1),r=w(e.x2),i=T(e.y2);if(e.extend===`none`||!e.extend)return[t,n,r,i];let a=r-t,o=i-n;return e.extend===`ray`?[t,n,t+a*30,n+o*30]:[t-a*30,n-o*30,t+a*30,n+o*30]},N=`M ${mt},${gt} H ${B-ht} V ${pt-_t} H ${mt} Z`;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(x||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(S,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-gc-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${B} ${pt}`,className:`lr-gc-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`defs`,{children:(0,E.jsx)(`clipPath`,{id:C,children:(0,E.jsx)(`path`,{d:N})})}),c&&(0,E.jsxs)(`g`,{className:`lr-gc-grid`,clipPath:`url(#${C})`,children:[D.map(e=>(0,E.jsx)(`line`,{x1:w(e),y1:gt,x2:w(e),y2:pt-_t},`gx${e}`)),O.map(e=>(0,E.jsx)(`line`,{x1:mt,y1:T(e),x2:B-ht,y2:T(e)},`gy${e}`))]}),(0,E.jsx)(`line`,{x1:mt,y1:A,x2:B-ht,y2:A,className:`lr-gc-axis`}),(0,E.jsx)(`line`,{x1:k,y1:gt,x2:k,y2:pt-_t,className:`lr-gc-axis`}),(0,E.jsx)(`polygon`,{points:`${B-ht},${A} ${B-ht-7},${A-3.5} ${B-ht-7},${A+3.5}`,className:`lr-gc-axis-arrow`}),(0,E.jsx)(`polygon`,{points:`${k},${gt} ${k-3.5},21 ${k+3.5},21`,className:`lr-gc-axis-arrow`}),D.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:w(e),y:A+12,className:`lr-gc-tick`,textAnchor:`middle`,children:e},`xt${e}`)),O.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:k-6,y:T(e)+3,className:`lr-gc-tick`,textAnchor:`end`,children:e},`yt${e}`)),a&&(0,E.jsx)(`text`,{x:B-ht-4,y:A-7,className:`lr-gc-axis-lbl`,textAnchor:`end`,children:a}),o&&(0,E.jsx)(`text`,{x:k+5,y:18,className:`lr-gc-axis-lbl`,textAnchor:`start`,children:o}),(0,E.jsxs)(`g`,{clipPath:`url(#${C})`,children:[f.map((e,t)=>{let n=e.color||`var(--presence)`;return(0,E.jsx)(`polygon`,{points:e.vertices.map(e=>`${w(e.x)},${T(e.y)}`).join(` `),stroke:n,fill:e.fill===!1?`none`:`color-mix(in oklab, ${n} 16%, transparent)`,className:`lr-gc-poly`,children:e.label&&(0,E.jsx)(`title`,{children:e.label})},`pg${t}`)}),p.map((e,t)=>{let n=e.color||`var(--presence)`,r=Math.abs(w(e.cx+e.r)-w(e.cx));return(0,E.jsx)(`circle`,{cx:w(e.cx),cy:T(e.cy),r,stroke:n,fill:e.fill===!1?`none`:`color-mix(in oklab, ${n} 14%, transparent)`,className:`lr-gc-circle`,children:e.label&&(0,E.jsx)(`title`,{children:e.label})},`ci${t}`)}),d.map((e,t)=>{let n=e.color||vt,[r,i,a,o]=M(e);return(0,E.jsx)(`line`,{x1:r,y1:i,x2:a,y2:o,stroke:n,className:e.dashed?`lr-gc-seg lr-gc-seg--dash`:`lr-gc-seg`},`sg${t}`)}),v.map((e,t)=>(0,E.jsx)(wt,{vx:w(e.vertex.x),vy:T(e.vertex.y),ax:w(e.from.x),ay:T(e.from.y),bx:w(e.to.x),by:T(e.to.y),label:e.label,color:e.color||vt,rightAngle:e.rightAngle},`ang${t}`)),g.map((e,t)=>{let n=e.color||`var(--presence)`,r=w(e.x),i=T(e.y),a=w(e.x+e.dx),o=T(e.y+e.dy),s=Math.atan2(o-i,a-r),c=a-Math.cos(s)*10*.85,l=o-Math.sin(s)*10*.85,u=(r+a)/2,d=(i+o)/2,f=s-Math.PI/2,p=Math.hypot(a-r,o-i),m=e.label?xt(e.label):0,h=Math.max(10,m/2+4,Math.min(p/2,m));return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:r,y1:i,x2:c,y2:l,stroke:n,className:`lr-gc-vec`}),(0,E.jsx)(Ct,{x:a,y:o,angle:s,color:n}),e.label&&(0,E.jsx)(`text`,{x:u+Math.cos(f)*h,y:d+Math.sin(f)*h,fill:n,className:`lr-gc-vec-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:e.label})]},`vec${t}`)}),(()=>{let e=0;return u.map((t,n)=>{let r=t.color||`var(--insight)`,i=t.r??4,a=t.label?j[e++]:null;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:w(t.x),cy:T(t.y),r:i,fill:t.open?`var(--surface-default)`:r,stroke:r,className:`lr-gc-point`}),t.label&&a&&(0,E.jsx)(`text`,{x:a.x,y:a.y,fill:r,className:`lr-gc-pt-lbl`,textAnchor:a.anchor,dominantBaseline:`middle`,children:t.label})]},`pt${n}`)})})(),y.map((e,t)=>(0,E.jsx)(`text`,{x:w(e.x),y:T(e.y),fill:e.color||`var(--text-secondary)`,className:`lr-gc-ann`,textAnchor:e.anchor??`middle`,children:e.text},`ann${t}`)),d.filter(e=>e.label).map((e,t)=>(0,E.jsx)(`text`,{x:w((e.x1+e.x2)/2),y:T((e.y1+e.y2)/2)-5,className:`lr-gc-ann`,textAnchor:`middle`,children:e.label},`sgl${t}`))]})]})}),b&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(b)})]})}var Et=420,Dt=340,Ot=210,kt=165,At=34,jt=70,Mt=e=>e===void 0?jt:Math.min(jt*1.4,jt*Math.max(.4,e/10)),Nt=14;function Pt(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Ft(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*9,s=r-Math.sin(i)*9,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4.5},${s+Math.sin(c)*4.5}`,d=`${o-Math.cos(c)*4.5},${s-Math.sin(c)*4.5}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,E.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function It(e){let t=(0,F.c)(43),{force:n,cx:r,cy:i}=e,a=n.color||`var(--presence)`,o=n.angle*Math.PI/180,s,c,l,u,d,f,p;if(t[0]!==r||t[1]!==i||t[2]!==n.magnitude||t[3]!==o){s=Math.cos(o);let e;t[11]===o?e=t[12]:(e=Math.sin(o),t[11]=o,t[12]=e),c=-e,l=r+s*At,u=i+c*At;let a=Mt(n.magnitude);f=l+s*a,p=u+c*a,d=Math.atan2(c,s),t[0]=r,t[1]=i,t[2]=n.magnitude,t[3]=o,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d,t[9]=f,t[10]=p}else s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10];let m=d,h=f-s*8,g=p-c*8,_=f+s*11,v=p+c*11,y;t[13]!==a||t[14]!==h||t[15]!==g||t[16]!==l||t[17]!==u?(y=(0,E.jsx)(`line`,{x1:l,y1:u,x2:h,y2:g,stroke:a,className:`fbd-arrow`}),t[13]=a,t[14]=h,t[15]=g,t[16]=l,t[17]=u,t[18]=y):y=t[18];let b;t[19]!==m||t[20]!==a||t[21]!==f||t[22]!==p?(b=(0,E.jsx)(Ft,{x:f,y:p,angle:m,color:a}),t[19]=m,t[20]=a,t[21]=f,t[22]=p,t[23]=b):b=t[23];let x=s>.2?`start`:s<-.2?`end`:`middle`,S=c<-.2?`auto`:c>.2?`hanging`:`middle`,C;t[24]===n.label?C=t[25]:(C=n.label.length>Nt&&(0,E.jsx)(`title`,{children:n.label}),t[24]=n.label,t[25]=C);let w;t[26]===n.label?w=t[27]:(w=Pt(n.label,Nt),t[26]=n.label,t[27]=w);let T;t[28]===n.magnitude?T=t[29]:(T=n.magnitude!==void 0&&(0,E.jsxs)(`tspan`,{className:`fbd-mag`,children:[` (`,n.magnitude,` N)`]}),t[28]=n.magnitude,t[29]=T);let D;t[30]!==a||t[31]!==_||t[32]!==v||t[33]!==x||t[34]!==S||t[35]!==C||t[36]!==w||t[37]!==T?(D=(0,E.jsxs)(`text`,{x:_,y:v,fill:a,className:`fbd-lbl`,textAnchor:x,dominantBaseline:S,children:[C,w,T]}),t[30]=a,t[31]=_,t[32]=v,t[33]=x,t[34]=S,t[35]=C,t[36]=w,t[37]=T,t[38]=D):D=t[38];let O;return t[39]!==y||t[40]!==b||t[41]!==D?(O=(0,E.jsxs)(`g`,{children:[y,b,D]}),t[39]=y,t[40]=b,t[41]=D,t[42]=O):O=t[42],O}function Lt({title:e,icon:t=`chart`,iconColor:n=`var(--insight)`,object:r=`Object`,forces:i=[],footer:a,delay:o}){let c=s[t]||s.chart;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`fbd-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Et} ${Dt}`,className:`fbd-svg`,role:`img`,"aria-label":e,children:[i.map((e,t)=>(0,E.jsx)(It,{force:e,cx:Ot,cy:kt},t)),(0,E.jsx)(`rect`,{x:Ot-At,y:kt-At,width:At*2,height:At*2,className:`fbd-box`}),(0,E.jsx)(`text`,{x:Ot,y:kt,className:`fbd-obj-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:r})]})}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(a)})]})}var Rt=11,zt=Rt/2,Bt=28,Vt=72,Ht=8,Ut=78,Wt=40,Gt=60,Kt=34,qt=96,Jt={C:0,D:1,E:2,F:3,G:4,A:5,B:6},Yt={treble:30,bass:18};function Xt(e,t){let n=e[0].toUpperCase(),r=e.slice(1),i=``;(r[0]===`#`||r[0]===`b`)&&(i=r[0],r=r.slice(1));let a=parseInt(r,10);return!(n in Jt)||!Number.isFinite(a)?{step:4,acc:i}:{step:a*7+Jt[n]-Yt[t],acc:i}}var Zt=e=>Vt-e*zt;function Qt(e){let t=[];if(e<0)for(let n=-2;n>=e;n-=2)t.push(n);else if(e>8)for(let n=10;n<=e;n+=2)t.push(n);return t}function $t(e){let t=(0,F.c)(44),{note:n,x:r,clef:i}=e,a;t[0]!==i||t[1]!==n.pitch?(a=Xt(n.pitch,i),t[0]=i,t[1]=n.pitch,t[2]=a):a=t[2];let{step:o,acc:s}=a,c=n.duration??`quarter`,l=Zt(o),u=o<4,d=u?r+5.5-1:r-5.5+1,f=l,p=u?l-28:l+28,m=c===`whole`||c===`half`,h;if(t[3]!==o||t[4]!==r){let e;t[6]===r?e=t[7]:(e=e=>(0,E.jsx)(`line`,{x1:r-5.5-4,y1:Zt(e),x2:r+5.5+4,y2:Zt(e),className:`ms-ledger`},e),t[6]=r,t[7]=e),h=Qt(o).map(e),t[3]=o,t[4]=r,t[5]=h}else h=t[5];let g;t[8]!==s||t[9]!==l||t[10]!==r?(g=s&&(0,E.jsx)(`text`,{x:r-5.5-6,y:l+3.5,className:`ms-acc`,textAnchor:`end`,children:s===`#`?`♯`:`♭`}),t[8]=s,t[9]=l,t[10]=r,t[11]=g):g=t[11];let _=`rotate(-15, ${r}, ${l})`,v=m?`none`:`var(--text-primary)`,y=m?1.4:0,b;t[12]!==l||t[13]!==_||t[14]!==v||t[15]!==y||t[16]!==r?(b=(0,E.jsx)(`ellipse`,{cx:r,cy:l,rx:5.5,ry:3.8,transform:_,fill:v,stroke:`var(--text-primary)`,strokeWidth:y,className:`ms-head`}),t[12]=l,t[13]=_,t[14]=v,t[15]=y,t[16]=r,t[17]=b):b=t[17];let x;t[18]!==c||t[19]!==l||t[20]!==r?(x=c===`half`&&(0,E.jsx)(`ellipse`,{cx:r,cy:l,rx:2.475,ry:1.9,transform:`rotate(-15, ${r}, ${l})`,fill:`var(--surface-default)`}),t[18]=c,t[19]=l,t[20]=r,t[21]=x):x=t[21];let S;t[22]!==c||t[23]!==d||t[24]!==f||t[25]!==p?(S=c!==`whole`&&(0,E.jsx)(`line`,{x1:d,y1:f,x2:d,y2:p,className:`ms-stem`}),t[22]=c,t[23]=d,t[24]=f,t[25]=p,t[26]=S):S=t[26];let C;t[27]!==c||t[28]!==u||t[29]!==d||t[30]!==p?(C=c===`eighth`&&(0,E.jsx)(`path`,{d:u?`M ${d},${p} C ${d+16},${p+8} ${d+14},${p+18} ${d+2},${p+22}`:`M ${d},${p} C ${d+16},${p-8} ${d+14},${p-18} ${d+2},${p-22}`,className:`ms-flag`}),t[27]=c,t[28]=u,t[29]=d,t[30]=p,t[31]=C):C=t[31];let w;t[32]!==n.dotted||t[33]!==l||t[34]!==r?(w=n.dotted&&(0,E.jsx)(`circle`,{cx:r+5.5+4,cy:l-2,r:2,fill:`var(--text-primary)`}),t[32]=n.dotted,t[33]=l,t[34]=r,t[35]=w):w=t[35];let T;return t[36]!==C||t[37]!==w||t[38]!==h||t[39]!==g||t[40]!==b||t[41]!==x||t[42]!==S?(T=(0,E.jsxs)(`g`,{children:[h,g,b,x,S,C,w]}),t[36]=C,t[37]=w,t[38]=h,t[39]=g,t[40]=b,t[41]=x,t[42]=S,t[43]=T):T=t[43],T}function en({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,clef:r=`treble`,notes:i=[],timeSignature:a,tempo:o,footer:c,delay:u}){let d=s[t]||s.sparkle,f=Math.max(180,Gt+i.length*Kt+24);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),o&&(0,E.jsxs)(`div`,{className:`ms-tempo`,children:[`♩= `,o]}),(0,E.jsx)(`div`,{className:`ms-scroll`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${f} ${qt}`,className:`ms-svg`,style:{maxWidth:f},role:`img`,"aria-label":e,children:[[0,1,2,3,4].map(e=>(0,E.jsx)(`line`,{x1:Ht,y1:Bt+e*Rt,x2:f-4,y2:Bt+e*Rt,className:`ms-line`},e)),(0,E.jsx)(`text`,{x:11,y:Ut,className:`ms-clef`,children:r===`bass`?`𝄢`:`𝄞`}),a&&(()=>{let[e,t]=a.split(`/`);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`text`,{x:Wt,y:49,className:`ms-timesig`,textAnchor:`middle`,children:e}),(0,E.jsx)(`text`,{x:Wt,y:62,className:`ms-timesig`,textAnchor:`middle`,children:t??`4`})]})})(),i.map((e,t)=>(0,E.jsx)($t,{note:e,x:Gt+t*Kt,clef:r},t))]})}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(c)})]})}var tn=300,nn=248,V=42,rn=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`];function an(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*9,s=r-Math.sin(i)*9,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4.5},${s+Math.sin(c)*4.5}`,d=`${o-Math.cos(c)*4.5},${s-Math.sin(c)*4.5}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,E.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function on(e){let t=(0,F.c)(27),{endX:n,endY:r,color:i,label:a,dashed:o}=e,s,c,l,u;t[0]!==n||t[1]!==r?(s=Math.atan2(r,n),c=n-Math.cos(s)*10*.85,u=r,l=Math.sin(s),t[0]=n,t[1]=r,t[2]=s,t[3]=c,t[4]=l,t[5]=u):(s=t[2],c=t[3],l=t[4],u=t[5]);let d=u-l*10*.85,f=s-Math.PI/2,p=n*.55,m=r*.55,h=o?1.5:2,g=o?`5,3`:void 0,_;t[6]!==i||t[7]!==c||t[8]!==d||t[9]!==h||t[10]!==g?(_=(0,E.jsx)(`line`,{x1:0,y1:0,x2:c,y2:d,stroke:i,strokeWidth:h,strokeDasharray:g}),t[6]=i,t[7]=c,t[8]=d,t[9]=h,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==s||t[13]!==i||t[14]!==n||t[15]!==r?(v=(0,E.jsx)(an,{x:n,y:r,angle:s,color:i}),t[12]=s,t[13]=i,t[14]=n,t[15]=r,t[16]=v):v=t[16];let y;t[17]!==i||t[18]!==a||t[19]!==p||t[20]!==m||t[21]!==f?(y=a&&(0,E.jsx)(`text`,{x:p+Math.cos(f)*11,y:m+Math.sin(f)*11,fill:i,className:`vs-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:a}),t[17]=i,t[18]=a,t[19]=p,t[20]=m,t[21]=f,t[22]=y):y=t[22];let b;return t[23]!==_||t[24]!==v||t[25]!==y?(b=(0,E.jsxs)(`g`,{children:[_,v,y]}),t[23]=_,t[24]=v,t[25]=y,t[26]=b):b=t[26],b}function sn({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,vectors:r=[],transformed:i=[],showSpan:a=!1,xRange:o,yRange:c,footer:u,delay:d}){let f=s[t]||s.chart,{sx:p,sy:g,xTicks:v,yTicks:y,ox:b,oy:x}=(0,P.useMemo)(()=>{let e=[...r,...i],t=e.map(e=>e.x),n=e.map(e=>e.y);t.push(0),n.push(0);let a=_(t),s=_(n),[l,u]=o??(a?h(a[0],a[1]):[-4,4]),[d,f]=c??(s?h(s[0],s[1]):[-4,4]),p=m([l,u],[V,tn-V]),g=m([d,f],[nn-V,V]);return{sx:p,sy:g,xTicks:p.ticks(6),yTicks:g.ticks(5),ox:p(0),oy:g(0)}},[r,i,o,c]),S=(0,P.useMemo)(()=>{if(!a||r.length<2)return``;let e=r[0],t=r[1],n=p(e.x)-b,i=g(e.y)-x,o=p(t.x)-b,s=g(t.y)-x;return`M 0,0 L ${n},${i} L ${n+o},${i+s} L ${o},${s} Z`},[a,r,p,g,b,x]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`vs-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${tn} ${nn}`,className:`vs-svg`,role:`img`,"aria-label":e,children:[(0,E.jsxs)(`g`,{className:`vs-grid`,children:[v.map(e=>(0,E.jsx)(`line`,{x1:p(e),y1:V,x2:p(e),y2:nn-V},`gx${e}`)),y.map(e=>(0,E.jsx)(`line`,{x1:V,y1:g(e),x2:tn-V,y2:g(e)},`gy${e}`))]}),(0,E.jsx)(`line`,{x1:V,y1:x,x2:tn-V,y2:x,className:`vs-axis`}),(0,E.jsx)(`line`,{x1:b,y1:V,x2:b,y2:nn-V,className:`vs-axis`}),v.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:p(e),y:x+12,className:`vs-tick`,textAnchor:`middle`,children:e},`xt${e}`)),y.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:b-6,y:g(e)+3,className:`vs-tick`,textAnchor:`end`,children:e},`yt${e}`)),S&&(0,E.jsx)(`path`,{d:S,transform:`translate(${b},${x})`,fill:`color-mix(in oklab, var(--presence) 14%, transparent)`,stroke:`none`}),(0,E.jsxs)(`g`,{transform:`translate(${b},${x})`,children:[r.map((e,t)=>(0,E.jsx)(on,{endX:p(e.x)-b,endY:g(e.y)-x,color:e.color||rn[t%rn.length],label:e.label},`v${t}`)),i.map((e,t)=>(0,E.jsx)(on,{endX:p(e.x)-b,endY:g(e.y)-x,color:e.color||rn[t%rn.length],label:e.label,dashed:!0},`t${t}`))]}),(0,E.jsx)(`circle`,{cx:b,cy:x,r:3,fill:`var(--text-secondary)`})]})}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(u)})]})}function cn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,reactionType:r,steps:i=[],conditions:a=[],footer:o,delay:c}){let u=s[t]||s.sparkle;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,r&&(0,E.jsx)(`span`,{className:`rxn-type-tag`,children:r})]}),(0,E.jsx)(`div`,{className:`rxn-track`,children:i.map((e,t)=>(0,E.jsxs)(`div`,{className:`rxn-row`,children:[(0,E.jsxs)(`div`,{className:`rxn-step`,children:[(0,E.jsx)(`span`,{className:`rxn-formula`,style:e.color?{color:e.color}:void 0,dangerouslySetInnerHTML:l(e.label)}),e.tag&&(0,E.jsx)(`span`,{className:`rxn-role`,children:e.tag})]}),t<i.length-1&&(0,E.jsxs)(`div`,{className:`rxn-arrow-wrap`,children:[a[t]&&(0,E.jsx)(`span`,{className:`rxn-cond`,children:a[t]}),(0,E.jsx)(`span`,{className:`rxn-arrow`,"aria-hidden":`true`,children:`→`})]})]},t))}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(o)})]})}var ln=4,un=6;function dn(e){return e===`x`?`✕`:e===`o`||e===0?`○`:``}function fn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,chordName:r,frets:i,fingers:a,capoFret:o,notes:c,instrument:u=`Guitar`,footer:d,delay:f}){let p=s[t]||s.sparkle,m=Math.min(12,Math.max(3,i.length||un)),h=Array.from({length:m},(e,t)=>i[t]??`x`),g=h.filter(e=>typeof e==`number`&&e>0),_=g.length?Math.min(...g):0,v=o??(_>1?_:1);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`cd-layout`,children:[(0,E.jsxs)(`div`,{className:`cd-left`,children:[(0,E.jsx)(`div`,{className:`cd-chord-name`,children:r}),u&&(0,E.jsx)(`div`,{className:`cd-instrument`,children:u})]}),(0,E.jsxs)(`div`,{className:`cd-diagram`,children:[v===1?(0,E.jsx)(`div`,{className:`cd-nut`}):(0,E.jsxs)(`div`,{className:`cd-fret-label`,children:[v,`fr`]}),(0,E.jsxs)(`div`,{className:`cd-fretboard`,children:[Array.from({length:5}).map((e,t)=>(0,E.jsx)(`div`,{className:`cd-fret-line`,style:{top:`${t/ln*100}%`}},t)),h.map((e,t)=>{let n=t/Math.max(1,m-1)*100,r=e===0||e===`o`,i=e===`x`,o=typeof e==`number`&&e>0?e:null,s=o?o-v+1:null,c=a?.[t];return(0,E.jsxs)(`div`,{className:`cd-string`,style:{left:`${n}%`},children:[(0,E.jsx)(`div`,{className:`cd-string-top`,children:(r||i)&&(0,E.jsx)(`span`,{className:`cd-top-mark${i?` muted`:` open`}`,children:dn(e)})}),s!==null&&s>=1&&s<=ln&&(0,E.jsx)(`div`,{className:`cd-dot`,style:{top:`${(s-.5)/ln*100}%`},children:c?(0,E.jsx)(`span`,{className:`cd-finger`,children:c}):null})]},t)})]}),c&&c.length>0&&(0,E.jsx)(`div`,{className:`cd-notes`,children:Array.from({length:m},(e,t)=>(0,E.jsx)(`div`,{className:`cd-note-label`,style:{overflowWrap:`break-word`,minWidth:0},children:c[t]??``},t))})]})]}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:l(d)})]})}var pn={motor:`Motor`,language:`Language`,social:`Social`,cognitive:`Cognitive`},mn={motor:`var(--presence)`,language:`var(--insight)`,social:`var(--warning)`,cognitive:`var(--text-secondary)`};function hn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,ageLabel:r,domains:i,footer:a,delay:o}){let c=s[t]||s.sparkle,[u,d]=(0,P.useState)(0),f=i[u];return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`dm-age`,children:r}),(0,E.jsx)(`div`,{className:`dm-tabs`,children:i.map((e,t)=>(0,E.jsx)(`button`,{className:`dm-tab${t===u?` active`:``}`,style:t===u?{borderColor:mn[e.domain]}:{},onClick:()=>d(t),children:pn[e.domain]},t))}),f&&(0,E.jsx)(`div`,{className:`dm-milestones`,children:f.milestones.map((e,t)=>(0,E.jsxs)(`div`,{className:`dm-milestone${e.achieved?` achieved`:``}`,children:[(0,E.jsx)(`div`,{className:`dm-check`,style:{color:e.achieved?mn[f.domain]:`var(--text-faint)`},children:e.achieved?(0,E.jsx)(s.check,{className:`ic`,style:{width:14,height:14}}):(0,E.jsx)(`span`,{className:`dm-check-empty`})}),(0,E.jsxs)(`div`,{className:`dm-text`,children:[(0,E.jsx)(`span`,{className:`dm-label`,children:e.label}),e.note&&(0,E.jsx)(`span`,{className:`dm-note`,children:e.note})]})]},t))}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:l(a)})]})}var gn=3.4,_n=gn*1.2,vn=gn*.52,yn=2.5,bn=1.6,xn=26,Sn=15,Cn=7;function wn(e,t){let n=e.side??`right`;return{tx:Math.min(100,Math.max(0,n===`left`?e.x-Cn:n===`right`?e.x+Cn:e.x)),ty:Math.min(t,Math.max(0,n===`top`?e.y-Cn:n===`bottom`?e.y+Cn:e.y)),anchor:n===`left`?`end`:n===`right`?`start`:`middle`}}function Tn(e){let t=e,n=e.trim(),r=!1;if(n.length>xn&&(n=n.slice(0,xn-1).trimEnd()+`…`,r=!0),n.length<=Sn||!n.includes(` `))return{lines:[n],full:t,truncated:r};let i=n.length/2,a=-1;for(let e=0;e<n.length;e++)n[e]===` `&&(a===-1||Math.abs(e-i)<Math.abs(a-i))&&(a=e);return a<=0?{lines:[n],full:t,truncated:r}:{lines:[n.slice(0,a),n.slice(a+1)],full:t,truncated:r}}function En(e){return e.anchor===`start`?[e.tx,e.tx+e.w]:e.anchor===`end`?[e.tx-e.w,e.tx]:[e.tx-e.w/2,e.tx+e.w/2]}function Dn(e,t){let n=e.map(e=>Tn(e.text)),r=e.map((e,r)=>{let{tx:i,ty:a,anchor:o}=wn(e,t);return{i:r,tx:i,ty:a,anchor:o,w:Math.max(1,...n[r].lines.map(e=>e.length))*vn,h:n[r].lines.length*_n}});for(let e of r){let[n,r]=En(e);n<yn?e.tx+=yn-n:r>100-yn&&(e.tx-=r-(100-yn)),e.ty=Math.min(t-yn-e.h/2,Math.max(yn+e.h/2,e.ty))}for(let e=0;e<8;e++){let e=[...r].sort((e,t)=>e.ty-t.ty),n=!1;for(let r=0;r<e.length;r++)for(let i=r+1;i<e.length;i++){let a=e[r],o=e[i],[s,c]=En(a),[l,u]=En(o);if(c<=l||u<=s)continue;let d=a.h/2+o.h/2+bn,f=o.ty-a.ty;if(f>=d)continue;let p=d-f,m=t-yn-o.h/2-o.ty,h=Math.max(0,Math.min(p,m));o.ty+=h;let g=p-h;g>0&&(a.ty=Math.max(yn+a.h/2,a.ty-g)),n=!0}if(!n)break}return r.map(e=>({tx:e.tx,ty:e.ty,anchor:e.anchor,lines:n[e.i].lines,full:n[e.i].full,truncated:n[e.i].truncated}))}function On(e){let t=e.trim()?e.trim().split(/\s+/).length:1;return Math.min(7e3,Math.max(1500,t*385+500))}function kn(e){let t=e=>Number.isFinite(e);switch(e.kind){case`circle`:return t(e.cx)&&t(e.cy)&&t(e.r)?[e.cx-e.r,e.cy-e.r,e.cx+e.r,e.cy+e.r]:null;case`rect`:return t(e.x)&&t(e.y)&&t(e.w)&&t(e.h)?[e.x,e.y,e.x+e.w,e.y+e.h]:null;case`line`:return t(e.x1)&&t(e.y1)&&t(e.x2)&&t(e.y2)?[Math.min(e.x1,e.x2),Math.min(e.y1,e.y2),Math.max(e.x1,e.x2),Math.max(e.y1,e.y2)]:null;case`polygon`:{let t=(e.points??``).trim().split(/[\s,]+/).map(Number).filter(Number.isFinite);if(t.length<4)return null;let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let e=0;e+1<t.length;e+=2)n=Math.min(n,t[e]),i=Math.max(i,t[e]),r=Math.min(r,t[e+1]),a=Math.max(a,t[e+1]);return[n,r,i,a]}default:return null}}function An(e,t,n){let r=1/0,i=1/0,a=-1/0,o=-1/0;for(let t of e){if(t.kind===`path`)return null;let e=kn(t);e&&(r=Math.min(r,e[0]),i=Math.min(i,e[1]),a=Math.max(a,e[2]),o=Math.max(o,e[3]))}for(let e of t){if(!Number.isFinite(e.x)||!Number.isFinite(e.y))continue;let{tx:t,ty:s}=wn(e,n);r=Math.min(r,e.x,t),i=Math.min(i,e.y,s),a=Math.max(a,e.x,t),o=Math.max(o,e.y,s)}let s=a-r,c=o-i;if(!(s>0&&c>0))return null;let l=Math.max(.35,Math.min(Math.min(76/s,(n-24)/c),2.4)),u=(r+a)/2,d=(i+o)/2,f=50-l*u,p=n/2-l*d;return Math.abs(l-1)<.02&&Math.abs(f)<.5&&Math.abs(p)<.5?null:{scale:l,tx:f,ty:p}}function jn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,steps:r,baseShapes:i=[],baseLabels:a=[],ratio:o=1.6,footer:u,delay:d,spotlight:f=!1,blockId:p}){let m=s[t]||s.sparkle,h=`lr-td-arrow-${(0,P.useId)().replace(/:/g,``)}`,g=Math.round(100/Math.max(.4,o)*10)/10,_=(0,P.useMemo)(()=>c(),[]),v=Math.max(0,r.length-1),y=r.length>1,b=(0,P.useMemo)(()=>An([...i,...r.flatMap(e=>e.add)],[...a,...r.flatMap(e=>e.labels??[])],g),[i,a,r,g]),x=b?`translate(${b.tx} ${b.ty}) scale(${b.scale})`:void 0,S=(0,P.useMemo)(()=>Dn([...a,...r.flatMap(e=>e.labels??[])],g),[a,r,g]),D=(0,P.useMemo)(()=>{let e=[],t=a.length;for(let n of r)e.push(t),t+=n.labels?.length??0;return e},[a,r]),[O,k]=(0,P.useState)(_?v:0),[A,j]=(0,P.useState)(!_&&y),M=(0,P.useRef)(r);M.current=r,(0,P.useEffect)(()=>{if(!(!p||!y))return T(p,{count:r.length,setIndex:e=>k(Math.min(v,Math.max(0,e))),spokenFor:e=>M.current[e]?.captionSpoken,captionFor:e=>M.current[e]?.caption})},[p,y,r.length,v]);let N=(0,P.useSyncExternalStore)((0,P.useCallback)(e=>p?C(p,e):()=>{},[p]),(0,P.useCallback)(()=>!!p&&w(p),[p]));(0,P.useEffect)(()=>{if(_||!y||N)return;if(O>=v){if(f){let e=window.setTimeout(()=>k(0),2200);return()=>window.clearTimeout(e)}A&&j(!1);return}if(!A&&!f)return;let e=M.current[O],t=On(e?.captionSpoken||e?.caption||``),n=window.setTimeout(()=>k(e=>Math.min(v,e+1)),t);return()=>window.clearTimeout(n)},[A,_,O,v,f,y,N]);let ee=()=>{k(0),j(!_&&y)},te=e=>{j(!1),k(Math.min(v,Math.max(0,e)))},ne=r[O]?.caption??``;return(0,E.jsxs)(`div`,{className:`card reveal lr-td`,style:{"--delay":(d||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-td-stage`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 100 ${g}`,className:`lr-td-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`defs`,{children:(0,E.jsx)(`marker`,{id:h,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,E.jsx)(`path`,{d:`M0,0 L10,5 L0,10 z`,fill:`context-stroke`})})}),(0,E.jsxs)(`g`,{transform:x,children:[i.map((e,t)=>(0,E.jsx)(Mn,{s:e,drawing:!1,idx:t,arrowId:h},`b${t}`)),a.map((e,t)=>(0,E.jsx)(Nn,{l:e,drawing:!1,p:S[t]},`bl${t}`)),r.slice(0,O+1).map((e,t)=>(0,E.jsxs)(`g`,{children:[e.add.map((n,r)=>(0,E.jsx)(Mn,{s:n,drawing:!_&&t===O,idx:r,emphasize:e.emphasize?.includes(r),arrowId:h},`s${t}sh${r}`)),(e.labels??[]).map((e,n)=>(0,E.jsx)(Nn,{l:e,drawing:!_&&t===O,p:S[D[t]+n]},`s${t}l${n}`))]},`s${t}-${t===O?O:`set`}`))]})]})}),(ne||y)&&(0,E.jsxs)(`div`,{className:`lr-td-bar`,children:[ne&&(0,E.jsx)(`p`,{className:`lr-td-caption`,"aria-live":`polite`,children:ne},O),y&&(0,E.jsxs)(`div`,{className:`lr-td-controls`,children:[(0,E.jsxs)(`button`,{type:`button`,className:`mini-btn lr-td-btn`,onClick:ee,"aria-label":`Replay the build`,children:[(0,E.jsx)(s.undo,{}),` Replay`]}),(0,E.jsxs)(`span`,{className:`lr-td-step`,children:[O+1,`/`,r.length]}),(0,E.jsx)(`button`,{type:`button`,className:`mini-btn lr-td-btn`,onClick:()=>te(O-1),disabled:O===0,"aria-label":`Previous step`,children:(0,E.jsx)(s.chevL,{})}),(0,E.jsx)(`button`,{type:`button`,className:`mini-btn lr-td-btn`,onClick:()=>te(O+1),disabled:O>=v,"aria-label":`Next step`,children:(0,E.jsx)(s.chevR,{})})]})]}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}function Mn({s:e,drawing:t,idx:n,emphasize:r,arrowId:i}){let a={stroke:e.color||`var(--text-muted)`,strokeWidth:.7,fill:e.fill||`none`,className:`lr-td-shape`+(t?` lr-td-draw`:``)+(r?` lr-td-emphasize`:``),pathLength:1,"data-kind":e.kind,style:t?{"--i":n}:void 0};switch(e.kind){case`circle`:return(0,E.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:e.r,...a});case`rect`:return(0,E.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:1.5,...a});case`line`:return(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,strokeLinecap:`round`,markerEnd:e.arrow?`url(#${i})`:void 0,...a});case`polygon`:return(0,E.jsx)(`polygon`,{points:e.points,...a});case`path`:return(0,E.jsx)(`path`,{d:e.d,...a});default:return null}}function Nn(e){let t=(0,F.c)(33),{l:n,drawing:r,p:i}=e,a=n.color||`var(--text-secondary)`,o=i.anchor===`start`?1:i.anchor===`end`?-1:0,s=i.lines.length,c=`lr-td-labelg`+(r?` lr-td-fade`:``),l;t[0]!==n.x||t[1]!==n.y||t[2]!==i.tx||t[3]!==i.ty?(l=(0,E.jsx)(`line`,{x1:n.x,y1:n.y,x2:i.tx,y2:i.ty,className:`lr-td-lead`}),t[0]=n.x,t[1]=n.y,t[2]=i.tx,t[3]=i.ty,t[4]=l):l=t[4];let u;t[5]!==a||t[6]!==n.x||t[7]!==n.y?(u=(0,E.jsx)(`circle`,{cx:n.x,cy:n.y,r:1.1,fill:a}),t[5]=a,t[6]=n.x,t[7]=n.y,t[8]=u):u=t[8];let d=i.anchor,f;if(t[9]!==o||t[10]!==s||t[11]!==i.lines||t[12]!==i.tx||t[13]!==i.ty){let e;t[15]!==o||t[16]!==s||t[17]!==i.tx||t[18]!==i.ty?(e=(e,t)=>(0,E.jsx)(`tspan`,{x:i.tx+o,y:i.ty+(t-(s-1)/2)*_n+1.1,children:e},t),t[15]=o,t[16]=s,t[17]=i.tx,t[18]=i.ty,t[19]=e):e=t[19],f=i.lines.map(e),t[9]=o,t[10]=s,t[11]=i.lines,t[12]=i.tx,t[13]=i.ty,t[14]=f}else f=t[14];let p;t[20]!==i.full||t[21]!==i.truncated?(p=i.truncated&&(0,E.jsx)(`title`,{children:i.full}),t[20]=i.full,t[21]=i.truncated,t[22]=p):p=t[22];let m;t[23]!==a||t[24]!==i.anchor||t[25]!==f||t[26]!==p?(m=(0,E.jsxs)(`text`,{textAnchor:d,className:`lr-td-lbl`,fill:a,children:[f,p]}),t[23]=a,t[24]=i.anchor,t[25]=f,t[26]=p,t[27]=m):m=t[27];let h;return t[28]!==c||t[29]!==l||t[30]!==u||t[31]!==m?(h=(0,E.jsxs)(`g`,{className:c,children:[l,u,m]}),t[28]=c,t[29]=l,t[30]=u,t[31]=m,t[32]=h):h=t[32],h}var Pn=2,Fn=5,In=6;function Ln(e,t,n){return n?n.some(([n,r])=>n===e&&r===t):!1}function Rn(e){let t=String(e).trim().toUpperCase();return t===`T`||t===`TRUE`||t===`1`?`lr-gm-true`:t===`F`||t===`FALSE`||t===`0`?`lr-gm-false`:``}function zn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,variant:r=`grid`,rowHeaders:i,colHeaders:a,cells:o,highlight:c,note:u,footer:d,delay:f}){let p=s[t]||s.sparkle;if(r===`tenframe`){let e=o.flat().filter(e=>e!==``&&e!==0&&e!==`0`&&e!==`○`).length,t=[],n=0;for(let r=0;r<Pn;r++){let r=[];for(let t=0;t<Fn;t++)r.push(n<e?`●`:`○`),n++;t.push(r)}o=t,a=void 0,i=void 0}let m=(a?a.length:0)||(o[0]?.length??0)+ +!!i,h=(o[0]?.length??0)+ +!!i,g=m>In;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:[`lr-gm-wrap`,`lr-gm-v-${r}`,g?`lr-gm-scroll`:``].filter(Boolean).join(` `),children:(0,E.jsxs)(`div`,{className:`lr-gm-grid`,style:{gridTemplateColumns:`repeat(${h}, minmax(0, 1fr))`},role:`grid`,"aria-label":e,children:[a&&(0,E.jsxs)(E.Fragment,{children:[i&&(0,E.jsx)(`div`,{className:`lr-gm-cell lr-gm-corner`,role:`columnheader`,"aria-label":``}),a.map((e,t)=>(0,E.jsx)(`div`,{className:`lr-gm-cell lr-gm-col-hdr`,role:`columnheader`,children:e},t))]}),o.map((e,t)=>(0,E.jsxs)(P.Fragment,{children:[i&&(0,E.jsx)(`div`,{className:`lr-gm-cell lr-gm-row-hdr`,role:`rowheader`,children:i[t]??``}),e.map((e,n)=>{let i=Ln(t,n,c),a=r===`tenframe`&&e===`●`;return(0,E.jsx)(`div`,{className:[`lr-gm-cell`,`lr-gm-data`,i?`lr-gm-accent`:``,r===`truth`?Rn(e):``,r===`tenframe`?`lr-gm-circle`:``,r===`tenframe`&&a?`lr-gm-filled`:``].filter(Boolean).join(` `),role:`gridcell`,"aria-label":r===`tenframe`?a?`filled`:`empty`:void 0,children:r===`tenframe`?null:e},`${t}-${n}`)})]},t))]})}),u&&(0,E.jsx)(`p`,{className:`lr-gm-note`,children:u}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(d)})]})}var Bn=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function Vn(e,t){return e.color??Bn[t%Bn.length]}function Hn(e,t){return t<=0?0:Math.min(1,Math.max(0,e/t))}function Un(e){return e.label??`${e.numerator}/${e.denominator}`}var Wn={maxWidth:`100%`,minWidth:0,flexShrink:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`};function Gn(e,t){if(t===0)return`—`;let n=e/t;return parseFloat(n.toPrecision(3)).toString()}function Kn(e){let t=(0,F.c)(9),{fill:n,color:r}=e,i=Math.min(.9999,Math.max(1e-4,n)),a=i*2*Math.PI,o=18+14*Math.sin(0),s=18-14*Math.cos(0),c=18+14*Math.sin(a),l=18-14*Math.cos(a),u=`A 14 14 0 ${+(i>.5)} 1 ${c} ${l}`,d;t[0]===u?d=t[1]:(d=[`M 18 18`,`L ${o} ${s}`,u,`Z`],t[0]=u,t[1]=d);let f=d.join(` `),p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,E.jsx)(`circle`,{cx:18,cy:18,r:14,className:`lr-fb-pie-track`}),t[2]=p):p=t[2];let m;t[3]!==r||t[4]!==f?(m=(0,E.jsx)(`path`,{d:f,fill:r,className:`lr-fb-pie-fill`}),t[3]=r,t[4]=f,t[5]=m):m=t[5];let h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,E.jsx)(`circle`,{cx:18,cy:18,r:14,className:`lr-fb-pie-ring`}),t[6]=h):h=t[6];let g;return t[7]===m?g=t[8]:(g=(0,E.jsxs)(`svg`,{width:36,height:36,viewBox:`0 0 36 36`,className:`lr-fb-pie`,"aria-hidden":`true`,children:[p,m,h]}),t[7]=m,t[8]=g),g}function qn(e){let t=(0,F.c)(11),{numerator:n,denominator:r,color:i}=e,a;t[0]===r?a=t[1]:(a=Math.round(r),t[0]=r,t[1]=a);let o=Math.min(100,Math.max(1,a)),s;t[2]===n?s=t[3]:(s=Math.round(n),t[2]=n,t[3]=s);let c=Math.min(o,Math.max(0,s)),l;if(t[4]!==i||t[5]!==o||t[6]!==c){let e;t[8]!==i||t[9]!==c?(e=(e,t)=>(0,E.jsx)(`div`,{className:`lr-fb-seg${t<c?` lr-fb-seg--on`:``}`,style:t<c?{"--seg-color":i}:void 0},t),t[8]=i,t[9]=c,t[10]=e):e=t[10],l=(0,E.jsx)(`div`,{className:`lr-fb-bar`,"aria-hidden":`true`,children:Array.from({length:o},e)}),t[4]=i,t[5]=o,t[6]=c,t[7]=l}else l=t[7];return l}function Jn({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,fractions:r,showPie:i=!1,note:a,footer:o,delay:c}){let u=s[t]??s.chart;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${c??0}ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`ul`,{className:`lr-fb-list`,children:r.map((e,t)=>{let n=Vn(e,t),r=Hn(e.numerator,e.denominator);return(0,E.jsxs)(`li`,{className:`lr-fb-row`,children:[i&&(0,E.jsx)(Kn,{fill:r,color:n}),(0,E.jsxs)(`div`,{className:`lr-fb-row-body`,children:[(0,E.jsx)(qn,{numerator:e.numerator,denominator:e.denominator,color:n}),(0,E.jsxs)(`div`,{className:`lr-fb-meta`,children:[(0,E.jsx)(`span`,{className:`lr-fb-fraction`,style:{...Wn,color:n},children:Un(e)}),(0,E.jsxs)(`span`,{className:`lr-fb-decimal`,style:Wn,children:[`= `,Gn(e.numerator,e.denominator)]})]})]})]},t)})}),a&&(0,E.jsx)(`p`,{className:`lr-fb-note`,children:a}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(o)})]})}var Yn=360,Xn=232,Zn=46,Qn=16,$n=22,er=30,tr=2,nr=160,rr=[`var(--presence)`,`var(--insight)`],ir=20;function ar(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function or({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,waves:r=[],xUnit:i=`x`,showWavelength:a=!0,showAmplitude:o=!0,showPeriod:c=!1,footer:u,delay:d}){let f=s[t]||s.spark,p=(0,P.useId)(),h=(0,P.useMemo)(()=>{let e=r.filter(e=>Number.isFinite(e.amplitude)&&Number.isFinite(e.wavelength)&&e.wavelength>0),t=(e.reduce((e,t)=>Math.max(e,t.wavelength),0)||1)*tr,n=e.reduce((e,t)=>Math.max(e,Math.abs(t.amplitude)),0)||1,i=n*1.18,a=m([0,t],[Zn,Yn-Qn]),o=m([-i,i],[Xn-er,$n]),s=e.map((e,n)=>{let r=Number.isFinite(e.phase??NaN)?e.phase:0,i=2*Math.PI/e.wavelength,s=``;for(let n=0;n<=nr;n++){let c=t*n/nr,l=e.amplitude*Math.sin(i*c+r);s+=`${n===0?`M`:`L`} ${a(c).toFixed(2)},${o(l).toFixed(2)} `}return{path:s.trim(),color:e.color||rr[n%rr.length],label:e.label,amplitude:e.amplitude,wavelength:e.wavelength,phase:r}});return{sx:a,sy:o,xMax:t,yBound:i,maxAmp:n,yZero:o(0),xTicks:a.ticks(5).filter(e=>e>0),yTicks:o.ticks(4).filter(e=>e!==0),waves:s}},[r]),{sx:g,sy:_,yZero:v}=h,y=(0,P.useMemo)(()=>h.waves.length===0?null:h.waves.reduce((e,t)=>t.wavelength>e.wavelength?t:e),[h.waves]),b=(0,P.useMemo)(()=>{if(!y)return null;let e=2*Math.PI/y.wavelength,t=(Math.PI/2-y.phase)/e;for(;t<0;)t+=y.wavelength;return t+y.wavelength>h.xMax?null:{x:t,next:t+y.wavelength,amp:Math.abs(y.amplitude)}},[y,h.xMax]);if(h.waves.length===0)return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`wv-empty`,children:`No wave data to plot.`})]});let x=b?g(b.x):64,S=b?_(b.amp):v;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`wv-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Yn} ${Xn}`,className:`wv-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`defs`,{children:(0,E.jsx)(`clipPath`,{id:p,children:(0,E.jsx)(`rect`,{x:Zn,y:$n-4,width:Yn-Zn-Qn,height:188})})}),(0,E.jsxs)(`g`,{className:`wv-grid`,children:[h.xTicks.map(e=>(0,E.jsx)(`line`,{x1:g(e),y1:$n,x2:g(e),y2:Xn-er},`gx${e}`)),h.yTicks.map(e=>(0,E.jsx)(`line`,{x1:Zn,y1:_(e),x2:Yn-Qn,y2:_(e)},`gy${e}`))]}),(0,E.jsx)(`line`,{x1:Zn,y1:v,x2:Yn-Qn,y2:v,className:`wv-axis`}),(0,E.jsx)(`line`,{x1:Zn,y1:$n,x2:Zn,y2:Xn-er,className:`wv-axis`}),(0,E.jsx)(`polygon`,{points:`${Yn-Qn},${v} ${Yn-Qn-7},${v-3.5} ${Yn-Qn-7},${v+3.5}`,className:`wv-axis-arrow`}),(0,E.jsx)(`text`,{x:Yn-Qn-2,y:v-8,className:`wv-axis-lbl`,textAnchor:`end`,children:i}),h.yTicks.map(e=>(0,E.jsx)(`text`,{x:Zn-6,y:_(e)+3,className:`wv-tick`,textAnchor:`end`,children:e},`yt${e}`)),h.xTicks.map(e=>(0,E.jsx)(`text`,{x:g(e),y:215,className:`wv-tick`,textAnchor:`middle`,children:Math.round(e*100)/100},`xt${e}`)),(0,E.jsx)(`g`,{clipPath:`url(#${p})`,children:h.waves.map((e,t)=>(0,E.jsx)(`path`,{d:e.path,className:`wv-curve`,stroke:e.color},`w${t}`))}),o&&b&&(0,E.jsxs)(`g`,{className:`wv-measure`,children:[(0,E.jsx)(`line`,{x1:x,y1:v,x2:x,y2:S,className:`wv-amp-line`}),(0,E.jsxs)(`text`,{x:x+5,y:(v+S)/2+3,className:`wv-measure-lbl`,textAnchor:`start`,children:[`A = `,sr(b.amp)]})]}),a&&b&&y&&(0,E.jsx)(`g`,{className:`wv-measure`,children:(()=>{let e=S-10,t=g(b.x),n=g(b.next);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`line`,{x1:t,y1:e,x2:n,y2:e,className:`wv-wl-line`}),(0,E.jsx)(`line`,{x1:t,y1:e-4,x2:t,y2:S,className:`wv-wl-tick`}),(0,E.jsx)(`line`,{x1:n,y1:e-4,x2:n,y2:S,className:`wv-wl-tick`}),(0,E.jsxs)(`text`,{x:(t+n)/2,y:e-5,className:`wv-measure-lbl`,textAnchor:`middle`,children:[`λ = `,sr(y.wavelength)]})]})})()}),c&&b&&y&&(0,E.jsx)(`g`,{className:`wv-measure`,children:(()=>{let e=v+16,t=g(b.x),n=g(b.next);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`line`,{x1:t,y1:e,x2:n,y2:e,className:`wv-wl-line`}),(0,E.jsx)(`line`,{x1:t,y1:v,x2:t,y2:e+4,className:`wv-wl-tick`}),(0,E.jsx)(`line`,{x1:n,y1:v,x2:n,y2:e+4,className:`wv-wl-tick`}),(0,E.jsxs)(`text`,{x:(t+n)/2,y:e+13,className:`wv-measure-lbl`,textAnchor:`middle`,children:[`T = `,sr(y.wavelength)]})]})})()}),h.waves.filter(e=>e.label).map((e,t)=>{let n=2*Math.PI/e.wavelength,r=e.amplitude*Math.sin(n*h.xMax+e.phase);return(0,E.jsx)(`text`,{x:Yn-Qn-4,y:_(r)-5,className:`wv-curve-lbl`,fill:e.color,textAnchor:`end`,children:ar(e.label,ir)},`lab${t}`)})]})}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}function sr(e){return String(Math.round(e*100)/100)}var cr=360,lr=280,ur=46,dr=16,fr=20,pr=30,mr={reactant:`var(--presence)`,ts:`var(--danger)`,intermediate:`var(--warning)`,product:`var(--insight)`};function hr(e){if(e.steps&&e.steps.length>=2)return e.steps;let t=[];return e.reactants!==void 0&&t.push({label:e.reactantLabel??`Reactants`,energy:e.reactants,kind:`reactant`}),e.ts!==void 0&&t.push({label:e.tsLabel??`Transition state`,energy:e.ts,kind:`ts`}),e.products!==void 0&&t.push({label:e.productLabel??`Products`,energy:e.products,kind:`product`}),t}function gr(e){let t=e.length>4?.08:.12,n=e=>e.kind!==`ts`,r=e.length;return e.map((e,i)=>({cx:r===1?.5:i/(r-1),half:n(e)?t:0}))}function _r({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,steps:r,reactants:i,ts:a,products:o,reactantLabel:c,tsLabel:u,productLabel:d,yLabel:f=`Energy`,yUnit:p,xLabel:g=`Reaction progress`,showEa:v=!0,showDelta:y=!0,footer:b,delay:x}){let S=s[t]||s.spark,C=(0,P.useMemo)(()=>{let t=hr({steps:r,reactants:i,ts:a,products:o,reactantLabel:c,tsLabel:u,productLabel:d,title:e});if(t.length<2)return null;let n=_(t.map(e=>e.energy)),[s,l]=h(n[0],n[1]),f=m([s,l],[lr-pr,fr]),p=m([0,1],[ur,cr-dr]),g=gr(t),v=[];t.forEach((e,n)=>{let{cx:r,half:i}=g[n],a=f(e.energy);if(i>0){let e=n===0?0:r-i,o=n===t.length-1?1:r+i;v.push({x:p(e),y:a},{x:p(o),y:a})}else v.push({x:p(r),y:a})});let y=v.map((e,t)=>{if(t===0)return`M ${e.x.toFixed(2)},${e.y.toFixed(2)}`;let n=v[t-1],r=(n.x+e.x)/2;return`C ${r.toFixed(2)},${n.y.toFixed(2)} ${r.toFixed(2)},${e.y.toFixed(2)} ${e.x.toFixed(2)},${e.y.toFixed(2)}`}).join(` `),b=t.map((e,t)=>({node:e,x:p(g[t].cx),y:f(e.energy),color:e.color||mr[e.kind??`reactant`]||`var(--presence)`})),x=b[0],S=b.find(e=>e.node.kind===`ts`)??b.slice(1).reduce((e,t)=>t.node.energy>e.node.energy?t:e,b[1]),C=b[b.length-1];return{nodes:t,sx:p,sy:f,yMin:s,yMax:l,path:y,apex:b,reactant:x,firstTs:S,last:C,Ea:S.node.energy-x.node.energy,dH:C.node.energy-x.node.energy}},[r,i,a,o,c,u,d,e]),w=C?C.sy.ticks(5):[];return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(x||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(S,{className:`ic`,style:{color:n}}),` `,e]}),C&&(0,E.jsx)(`div`,{className:`enz-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${cr} ${lr}`,className:`enz-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`g`,{className:`enz-grid`,children:w.map(e=>(0,E.jsx)(`line`,{x1:ur,y1:C.sy(e),x2:cr-dr,y2:C.sy(e)},`g${e}`))}),(0,E.jsx)(`line`,{x1:ur,y1:fr,x2:ur,y2:lr-pr,className:`enz-axis`}),(0,E.jsx)(`line`,{x1:ur,y1:lr-pr,x2:cr-dr,y2:lr-pr,className:`enz-axis`}),w.map(e=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:ur-4,y1:C.sy(e),x2:ur,y2:C.sy(e),className:`enz-axis`}),(0,E.jsx)(`text`,{x:ur-7,y:C.sy(e)+3,className:`enz-tick`,textAnchor:`end`,children:e})]},`yt${e}`)),(0,E.jsx)(`text`,{x:0,y:0,transform:`translate(13, ${(300-pr)/2}) rotate(-90)`,className:`enz-axis-lbl`,textAnchor:`middle`,children:p?`${f} (${p})`:f}),(0,E.jsxs)(`text`,{x:(406-dr)/2,y:lr-8,className:`enz-axis-lbl`,textAnchor:`middle`,children:[g,` →`]}),v&&(0,E.jsx)(`line`,{x1:C.reactant.x,y1:C.reactant.y,x2:C.firstTs.x,y2:C.reactant.y,className:`enz-ref`}),y&&(0,E.jsx)(`line`,{x1:C.reactant.x,y1:C.reactant.y,x2:C.last.x,y2:C.reactant.y,className:`enz-ref`}),(0,E.jsx)(`path`,{d:C.path,className:`enz-profile`}),v&&C.Ea>0&&(0,E.jsxs)(`g`,{className:`enz-measure enz-measure--ea`,children:[(0,E.jsx)(`line`,{x1:C.firstTs.x,y1:C.reactant.y,x2:C.firstTs.x,y2:C.firstTs.y,markerEnd:`url(#enz-arrow-ea)`,markerStart:`url(#enz-arrow-ea)`}),(0,E.jsxs)(`text`,{x:C.firstTs.x+6,y:(C.reactant.y+C.firstTs.y)/2,className:`enz-measure-lbl`,textAnchor:`start`,dominantBaseline:`middle`,children:[`Ea = `,vr(C.Ea),p?` ${p}`:``]})]}),y&&(0,E.jsxs)(`g`,{className:C.dH<=0?`enz-measure enz-measure--exo`:`enz-measure enz-measure--endo`,children:[(0,E.jsx)(`line`,{x1:C.last.x,y1:C.reactant.y,x2:C.last.x,y2:C.last.y,markerEnd:`url(#enz-arrow-dh)`,markerStart:`url(#enz-arrow-dh)`}),(0,E.jsxs)(`text`,{x:C.last.x-6,y:(C.reactant.y+C.last.y)/2,className:`enz-measure-lbl`,textAnchor:`end`,dominantBaseline:`middle`,children:[`ΔH = `,C.dH>0?`+`:``,vr(C.dH),p?` ${p}`:``]})]}),C.apex.map((e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:e.x,cy:e.y,r:3.5,fill:e.color,className:`enz-dot`}),(0,E.jsx)(`text`,{x:e.x,y:e.node.kind===`ts`?e.y-8:e.y-9,fill:e.color,className:`enz-node-lbl`,textAnchor:t===0?`start`:t===C.apex.length-1?`end`:`middle`,children:e.node.label})]},`n${t}`)),(0,E.jsxs)(`defs`,{children:[(0,E.jsx)(`marker`,{id:`enz-arrow-ea`,markerWidth:`7`,markerHeight:`7`,refX:`3.5`,refY:`3.5`,orient:`auto`,children:(0,E.jsx)(`path`,{d:`M1.2,1.2 L3.5,3.5 L1.2,5.8`,className:`enz-arrowhead enz-arrowhead--ea`})}),(0,E.jsx)(`marker`,{id:`enz-arrow-dh`,markerWidth:`7`,markerHeight:`7`,refX:`3.5`,refY:`3.5`,orient:`auto`,children:(0,E.jsx)(`path`,{d:`M1.2,1.2 L3.5,3.5 L1.2,5.8`,className:`enz-arrowhead enz-arrowhead--dh`})})]})]})}),!C&&(0,E.jsx)(`div`,{className:`enz-empty`,children:`Provide reactant, transition-state, and product energies.`}),b&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:l(b)})]})}function vr(e){let t=Math.round(e*100)/100;return String(t)}var yr=360,br=16,xr=14,Sr=30,Cr=14,wr=8,Tr=18,Er=34,Dr=`var(--line-strong)`,Or=5.4,kr=5.8,Ar=14;function jr(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Mr(e){return!e.children||e.children.length===0?1:e.children.reduce((e,t)=>e+Mr(t),0)}function Nr(e,t=0){let n=t+(e.length??1);return!e.children||e.children.length===0?n:Math.max(...e.children.map(e=>Nr(e,n)))}function Pr(e,t,n,r,i){let a=[],o=0;function s(e,c,l){let u=c+(e.length??1),d=!e.children||e.children.length===0,f=t?n(u):d?i:n(u);if(d){let t=r(o);o+=1;let n={node:e,x:f,y:t,px:l,depth:u,isTip:!0};return a.push(n),n}let p=e.children.map(e=>s(e,u,f)),m={node:e,x:f,y:(p[0].y+p[p.length-1].y)/2,px:l,depth:u,isTip:!1};return a.push(m),m}return s(e,0,Cr),{placed:a,tipRows:o}}function Fr(e,t){let n=t.get(e.on);return n?{x:(n.px+n.x)/2,y:n.y}:null}function Ir({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,root:r,clades:i=[],traits:a=[],distanceLabel:o,footer:c,delay:u}){let d=s[t]??s.spark,{H:f,placed:p,byName:g,hasAxis:_,sx:v,xTicks:y,tipX:b,tipMaxChars:x,bracketX:S,cladeBrackets:C,axisY:w}=(0,P.useMemo)(()=>{let e=Mr(r),t=Lr(r),n=Nr(r)||1,a=Math.max(Tr,Math.min(Er,200/Math.max(1,e))),s=t&&!!o,c=s?Sr:xr,l=e*a,u=br+l+c,d=Rr(r).reduce((e,t)=>Math.max(e,t.length),0),f=Math.min(150,7+d*Or),p=i.reduce((e,t)=>Math.max(e,t.label.length),0),g=i.length?Ar+Math.min(90,4+p*kr):0,_=yr-f-g-6,v=Math.max(3,Math.round((f-7)/Or)),y=Math.max(3,Math.round((g-Ar-4)/kr)),[b,x]=t?h(0,n):[0,n],S=m([b,x],[Cr,_]),{placed:C}=Pr(r,t,S,e=>br+e*a+a/2,_),w=new Map;for(let e of C)e.node.name&&w.set(e.node.name,e);let T=_+f+3,E=i.map(e=>{let t=e.tips.map(e=>w.get(e)).filter(e=>!!e).map(e=>e.y);return t.length===0?null:{label:jr(e.label,y),full:e.label,color:e.color,y1:Math.min(...t),y2:Math.max(...t)}}).filter(e=>!!e);return{H:u,placed:C,byName:w,phylogram:t,hasAxis:s,sx:S,xTicks:S.ticks(5),tipX:_,tipMaxChars:v,bracketX:T,cladeBrackets:E,axisY:br+l+4}},[r,i,o]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${u??0}ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`phy-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${yr} ${f}`,className:`phy-svg`,role:`img`,"aria-label":e,children:[_&&(0,E.jsxs)(`g`,{className:`phy-axis`,children:[y.map(e=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:v(e),y1:br-4,x2:v(e),y2:w,className:`phy-axis-grid`}),(0,E.jsx)(`text`,{x:v(e),y:w+11,className:`phy-axis-tick`,textAnchor:`middle`,children:e})]},`tk${e}`)),(0,E.jsx)(`line`,{x1:Cr,y1:w,x2:b,y2:w,className:`phy-axis-line`}),(0,E.jsx)(`text`,{x:(Cr+b)/2,y:f-3,className:`phy-axis-lbl`,textAnchor:`middle`,children:o})]}),C.map((e,t)=>{let n=e.color??`var(--insight)`;return(0,E.jsxs)(`g`,{className:`phy-clade`,children:[(0,E.jsx)(`path`,{d:`M ${S} ${e.y1} q 4 0 4 4 L ${S+4} ${e.y2-4} q 0 4 -4 4`,stroke:n,fill:`none`,className:`phy-bracket`}),(0,E.jsxs)(`text`,{x:S+7,y:(e.y1+e.y2)/2,fill:n,className:`phy-clade-lbl`,dominantBaseline:`middle`,children:[e.label!==e.full&&(0,E.jsx)(`title`,{children:e.full}),e.label]})]},`cl${t}`)}),p.map((e,t)=>{if(!e.node.children||e.node.children.length===0)return(0,E.jsx)(`line`,{x1:e.px,y1:e.y,x2:e.x,y2:e.y,stroke:Dr,className:`phy-branch`},`b${t}`);let n=e.node.children.map(e=>e.name?g.get(e.name):void 0).filter(e=>!!e),r=Math.min(...n.map(e=>e.y)),i=Math.max(...n.map(e=>e.y));return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:e.x,y1:r,x2:e.x,y2:i,stroke:Dr,className:`phy-branch`}),e.px!==e.x&&(0,E.jsx)(`line`,{x1:e.px,y1:e.y,x2:e.x,y2:e.y,stroke:Dr,className:`phy-branch`})]},`b${t}`)}),p.filter(e=>!e.isTip&&(e.node.support!=null||e.node.name)).map((e,t)=>(0,E.jsx)(`text`,{x:e.x+3,y:e.y-3,className:`phy-node-lbl`,children:e.node.support==null?e.node.name:e.node.support},`an${t}`)),a.map((e,t)=>{let n=Fr(e,g);if(!n)return null;let r=e.color??`var(--warning)`;return(0,E.jsxs)(`g`,{className:`phy-trait`,children:[(0,E.jsx)(`rect`,{x:n.x-3,y:n.y-4,width:6,height:8,rx:1.5,fill:r,className:`phy-trait-mark`}),(0,E.jsx)(`text`,{x:n.x,y:n.y-7,fill:r,className:`phy-trait-lbl`,textAnchor:`middle`,children:e.label})]},`tr${t}`)}),p.filter(e=>e.isTip).map((e,t)=>{let n=e.node.name??``;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:e.x,cy:e.y,r:2.5,className:`phy-tip-dot`}),(0,E.jsxs)(`text`,{x:e.x+wr,y:e.y,className:`phy-tip-lbl`,dominantBaseline:`middle`,children:[n.length>x&&(0,E.jsx)(`title`,{children:n}),jr(n,x)]})]},`t${t}`)})]})}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(c)})]})}function Lr(e){return e.length==null?(e.children??[]).some(Lr):!0}function Rr(e,t=[]){if(!e.children||e.children.length===0)return t.push(e.name??``),t;for(let n of e.children)Rr(n,t);return t}var zr=22,Br=16,Vr=46,Hr=62,Ur=240,Wr=`var(--text-secondary)`,Gr=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],Kr=9,qr=10,Jr=10;function Yr(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Xr(e){return e.word!=null||!e.children||e.children.length===0}function Zr(e,t){let n=0,r=0,i=0,a=(e,o)=>{i=Math.max(i,o);let s=Br+o*Vr;if(Xr(e)){let i=zr+n*Hr+Hr/2;n+=1;let a=t?e.color??Gr[r%Gr.length]:e.color??Wr;return r+=1,{node:e,x:i,y:s,depth:o,color:a,children:[]}}let c=(e.children??[]).map(e=>a(e,o+1));return{node:e,x:(c[0].x+c[c.length-1].x)/2,y:s,depth:o,color:e.color??Wr,children:c}};return{placed:a(e,0),width:Math.max(Ur,n*Hr+zr*2),height:Br+i*Vr+40,maxDepth:i}}function Qr(e,t=[]){t.push(e);for(let n of e.children)Qr(n,t);return t}function $r({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,root:r,colorPos:i=!1,sentence:a,footer:o,delay:c}){let u=s[t]||s.layers,{nodes:d,width:f,height:p}=(0,P.useMemo)(()=>{let{placed:e,width:t,height:n}=Zr(r,i);return{nodes:Qr(e),width:t,height:n}},[r,i]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),a&&(0,E.jsx)(`p`,{className:`prs-sentence`,children:a}),(0,E.jsx)(`div`,{className:`prs-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${f} ${p}`,className:`prs-svg`,role:`img`,"aria-label":e,children:[d.map((e,t)=>e.children.map((n,r)=>(0,E.jsx)(`line`,{x1:e.x,y1:e.y+6,x2:n.x,y2:n.y-13,className:`prs-edge`},`e${t}-${r}`))),d.map((e,t)=>{if(Xr(e.node)){let n=e.node.word??e.node.label,r=e.node.word==null?void 0:e.node.label;return(0,E.jsxs)(`g`,{children:[r&&(0,E.jsxs)(`text`,{x:e.x,y:e.y,className:`prs-pos`,textAnchor:`middle`,fill:e.color,children:[r.length>qr&&(0,E.jsx)(`title`,{children:r}),Yr(r,qr)]}),r&&(0,E.jsx)(`line`,{x1:e.x,y1:e.y+4,x2:e.x,y2:e.y+16,className:`prs-leaf-stem`}),(0,E.jsxs)(`text`,{x:e.x,y:e.y+(r?27:4),className:`prs-word`,textAnchor:`middle`,children:[n.length>Kr&&(0,E.jsx)(`title`,{children:n}),Yr(n,Kr)]})]},`n${t}`)}return(0,E.jsxs)(`text`,{x:e.x,y:e.y,className:`prs-phrase`,textAnchor:`middle`,fill:e.color,children:[e.node.label.length>Jr&&(0,E.jsx)(`title`,{children:e.node.label}),Yr(e.node.label,Jr)]},`n${t}`)})]})}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:l(o)})]})}var ei=230,ti=20;function ni(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var ri=(e,t)=>e?`color-mix(in oklab, ${t} 26%, transparent)`:`color-mix(in oklab, var(--text-secondary) 12%, transparent)`,ii=(e,t)=>e?t:`var(--line-strong)`,ai={nucleus:{name:`Nucleus`,in:`both`,anchor:{gx:118,gy:96,lx:150,ly:40,side:`right`},draw:(e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:118,cy:108,r:34,fill:ri(t,e),stroke:ii(t,e),strokeWidth:1.6}),(0,E.jsx)(`circle`,{cx:126,cy:114,r:11,fill:`color-mix(in oklab, ${t?e:`var(--text-secondary)`} 40%, transparent)`})]})},nucleolus:{name:`Nucleolus`,in:`both`,anchor:{gx:126,gy:114,lx:158,ly:150,side:`right`},draw:()=>null},mitochondria:{name:`Mitochondria`,in:`both`,anchor:{gx:196,gy:70,lx:226,ly:56,side:`right`},draw:(e,t)=>(0,E.jsxs)(`g`,{transform:`translate(196 70) rotate(-18)`,children:[(0,E.jsx)(`ellipse`,{cx:0,cy:0,rx:24,ry:12,fill:ri(t,e),stroke:ii(t,e),strokeWidth:1.6}),(0,E.jsx)(`path`,{d:`M-17,-2 q4,-7 8,0 q4,7 8,0 q4,-7 8,0 q4,7 8,0`,fill:`none`,stroke:ii(t,e),strokeWidth:1,opacity:.85})]})},er:{name:`Endoplasmic reticulum`,in:`both`,anchor:{gx:96,gy:158,lx:150,ly:200,side:`right`},draw:(e,t)=>(0,E.jsx)(`path`,{d:`M78,150 q14,-14 30,-2 q16,12 30,-2 q12,-12 26,-2`,fill:`none`,stroke:ii(t,e),strokeWidth:t?3:2.2,strokeLinecap:`round`})},golgi:{name:`Golgi apparatus`,in:`both`,anchor:{gx:70,gy:70,lx:36,ly:50,side:`left`},draw:(e,t)=>(0,E.jsxs)(`g`,{stroke:ii(t,e),strokeWidth:t?2.4:1.8,fill:`none`,strokeLinecap:`round`,children:[(0,E.jsx)(`path`,{d:`M52,62 q22,-9 44,0`}),(0,E.jsx)(`path`,{d:`M55,69 q19,-8 38,0`}),(0,E.jsx)(`path`,{d:`M58,76 q16,-7 32,0`})]})},ribosomes:{name:`Ribosomes`,in:`both`,anchor:{gx:168,gy:150,lx:222,ly:176,side:`right`},draw:(e,t)=>{let n=[[160,146],[172,152],[166,158],[180,148],[176,160]],r=t?e:`var(--text-secondary)`;return(0,E.jsx)(`g`,{children:n.map(([e,n],i)=>(0,E.jsx)(`circle`,{cx:e,cy:n,r:3,fill:r,opacity:t?.9:.6},i))})}},vacuole:{name:`Vacuole`,in:`both`,anchor:{gx:208,gy:150,lx:240,ly:150,side:`right`},draw:(e,t)=>(0,E.jsx)(`circle`,{cx:208,cy:150,r:20,fill:ri(t,e),stroke:ii(t,e),strokeWidth:1.6})},lysosome:{name:`Lysosome`,in:`animal`,anchor:{gx:96,gy:188,lx:60,ly:200,side:`left`},draw:(e,t)=>(0,E.jsx)(`circle`,{cx:96,cy:186,r:10,fill:ri(t,e),stroke:ii(t,e),strokeWidth:1.6})},centrosome:{name:`Centrosome`,in:`animal`,anchor:{gx:150,gy:96,lx:184,ly:96,side:`right`},draw:(e,t)=>(0,E.jsxs)(`g`,{stroke:ii(t,e),strokeWidth:t?3:2.2,strokeLinecap:`round`,children:[(0,E.jsx)(`line`,{x1:146,y1:88,x2:146,y2:104}),(0,E.jsx)(`line`,{x1:138,y1:96,x2:154,y2:96})]})},cytoplasm:{name:`Cytoplasm`,in:`both`,anchor:{gx:150,gy:120,lx:150,ly:120,side:`right`},draw:()=>null},membrane:{name:`Cell membrane`,in:`both`,anchor:{gx:150,gy:30,lx:150,ly:18,side:`right`},draw:()=>null},chloroplast:{name:`Chloroplast`,in:`plant`,anchor:{gx:196,gy:96,lx:232,ly:88,side:`right`},draw:(e,t)=>(0,E.jsxs)(`g`,{transform:`translate(196 96) rotate(24)`,children:[(0,E.jsx)(`ellipse`,{cx:0,cy:0,rx:24,ry:13,fill:ri(t,e||`var(--insight)`),stroke:ii(t,e||`var(--insight)`),strokeWidth:1.6}),[-12,-2,8].map(n=>(0,E.jsx)(`line`,{x1:n,y1:-6,x2:n,y2:6,stroke:ii(t,e||`var(--insight)`),strokeWidth:2.4,strokeLinecap:`round`},n))]})},"cell wall":{name:`Cell wall`,in:`plant`,anchor:{gx:150,gy:14,lx:150,ly:14,side:`right`},draw:()=>null}},oi={mitochondrion:`mitochondria`,"endoplasmic reticulum":`er`,"rough er":`er`,"smooth er":`er`,"golgi apparatus":`golgi`,"golgi body":`golgi`,ribosome:`ribosomes`,"central vacuole":`vacuole`,"plasma membrane":`membrane`,"cell membrane":`membrane`,wall:`cell wall`,cellwall:`cell wall`};function si(e){let t=e.trim().toLowerCase();if(ai[t])return t;if(oi[t])return oi[t]}var ci=[`membrane`,`cytoplasm`,`nucleus`,`mitochondria`,`er`,`golgi`,`ribosomes`],li=[`cell wall`,`membrane`,`cytoplasm`,`nucleus`,`chloroplast`,`mitochondria`,`vacuole`,`er`];function ui({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,cellType:r=`animal`,parts:i,footer:a,delay:o}){let c=s[t]||s.sparkle,u=r===`plant`,d=i&&i.length?i:(u?li:ci).map(e=>({key:e})),f=new Set,p=[];for(let e of d){let t=si(e.key);if(!t||f.has(t))continue;let n=ai[t];n.in!==`both`&&n.in!==r||(f.add(t),p.push({key:t,glyph:n,label:e.label??n.name,note:e.note,on:e.highlight===!0,color:e.color??`var(--presence)`}))}let m=`color-mix(in oklab, var(--presence) 6%, transparent)`;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e,(0,E.jsx)(`span`,{className:`cel-type-tag`,children:u?`plant`:`animal`})]}),(0,E.jsxs)(`div`,{className:`cel-wrap`,children:[(0,E.jsxs)(`svg`,{viewBox:`-42 0 372 ${ei}`,className:`cel-svg`,role:`img`,"aria-label":`${u?`Plant`:`Animal`} cell diagram — ${e}`,children:[u?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`rect`,{x:22,y:20,width:236,height:190,rx:18,fill:`color-mix(in oklab, var(--insight) 7%, transparent)`,stroke:`var(--line-strong)`,strokeWidth:5}),(0,E.jsx)(`rect`,{x:32,y:30,width:216,height:170,rx:12,fill:m,stroke:`var(--text-secondary)`,strokeWidth:1.6})]}):(0,E.jsx)(`path`,{d:`M150,28 C214,28 252,62 252,116 C252,172 210,206 150,206 C92,206 40,176 40,116 C40,60 88,28 150,28 Z`,fill:m,stroke:`var(--text-secondary)`,strokeWidth:1.8}),p.map(e=>(0,E.jsx)(`g`,{children:e.glyph.draw(e.color,e.on)},e.key)),p.map(e=>{let t=e.glyph.anchor,n=e.on?e.color:`var(--text-secondary)`,r=t.side===`left`?t.lx+2:t.lx-2;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:t.gx,y1:t.gy,x2:r,y2:t.ly,stroke:`var(--line-strong)`,strokeWidth:.8,className:`cel-leader`}),(0,E.jsx)(`circle`,{cx:t.gx,cy:t.gy,r:1.6,fill:`var(--line-strong)`}),(0,E.jsxs)(`text`,{x:t.lx,y:t.ly,textAnchor:t.side===`left`?`end`:`start`,dominantBaseline:`middle`,className:`cel-label`+(e.on?` cel-label--on`:``),fill:n,children:[e.label.length>ti&&(0,E.jsx)(`title`,{children:e.label}),ni(e.label,ti)]})]},`l-${e.key}`)})]}),p.some(e=>e.note)&&(0,E.jsx)(`ul`,{className:`cel-legend`,"aria-label":`Organelle notes`,children:p.filter(e=>e.note).map(e=>(0,E.jsxs)(`li`,{className:`cel-legend-item`,children:[(0,E.jsx)(`span`,{className:`cel-legend-dot`,style:{background:e.on?e.color:`var(--text-muted)`},"aria-hidden":`true`}),(0,E.jsxs)(`span`,{className:`cel-legend-body`,children:[(0,E.jsx)(`span`,{className:`cel-legend-name`,children:e.label}),(0,E.jsx)(`span`,{className:`cel-legend-note`,children:e.note})]})]},e.key))})]}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(a)})]})}var di=360,fi=230,pi=16,mi=18,hi=24,gi=`var(--text-secondary)`,_i=`var(--insight)`,vi=`var(--presence)`,yi=`var(--warning)`,bi=`var(--text-muted)`;function xi(e){return e===`convex-lens`||e===`concave-mirror`}var Si=e=>e===`concave-mirror`||e===`convex-mirror`;function Ci(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*8,s=r-Math.sin(i)*8,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4},${s+Math.sin(c)*4}`,d=`${o-Math.cos(c)*4},${s-Math.sin(c)*4}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,E.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function wi(e){let t=(0,F.c)(23),{ax:n,h:r,color:i,label:a,dashed:o,sx:s,sy:c}=e,l;t[0]!==n||t[1]!==s?(l=s(n),t[0]=n,t[1]=s,t[2]=l):l=t[2];let u=l,d=c(0),f=c(r),p=r>=0,m=p?-Math.PI/2:Math.PI/2,h=o?`4,3`:void 0,g;t[3]!==d||t[4]!==i||t[5]!==h||t[6]!==f||t[7]!==u?(g=(0,E.jsx)(`line`,{x1:u,y1:d,x2:u,y2:f,stroke:i,strokeWidth:2,strokeDasharray:h,strokeLinecap:`round`}),t[3]=d,t[4]=i,t[5]=h,t[6]=f,t[7]=u,t[8]=g):g=t[8];let _;t[9]!==m||t[10]!==i||t[11]!==f||t[12]!==u?(_=(0,E.jsx)(Ci,{x:u,y:f,angle:m,color:i}),t[9]=m,t[10]=i,t[11]=f,t[12]=u,t[13]=_):_=t[13];let v=p?f-7:f+14,y;t[14]!==i||t[15]!==a||t[16]!==v||t[17]!==u?(y=(0,E.jsx)(`text`,{x:u,y:v,fill:i,className:`ray-arrow-lbl`,textAnchor:`middle`,children:a}),t[14]=i,t[15]=a,t[16]=v,t[17]=u,t[18]=y):y=t[18];let b;return t[19]!==g||t[20]!==_||t[21]!==y?(b=(0,E.jsxs)(`g`,{children:[g,_,y]}),t[19]=g,t[20]=_,t[21]=y,t[22]=b):b=t[22],b}function Ti({title:e,icon:t=`eye`,iconColor:n=`var(--presence)`,element:r=`convex-lens`,objectDistance:i,focalLength:a,objectHeight:o=1,footer:c,delay:u}){let d=s[t]||s.eye,f=(0,P.useMemo)(()=>{let e=Math.abs(a)*(xi(r)?1:-1),t=Math.abs(i),n=Math.abs(o)||1,s=t-e,c=Math.abs(s)<1e-6,l=c?1/0:t*e/s,u=c?1/0:-l/t,d=Number.isFinite(u)?u*n:1/0,f=Number.isFinite(l)&&l>0,p=NaN;if(Number.isFinite(l)){let e=Math.abs(l);p=Si(r)?l>0?-e:e:l>0?e:-e}let h=-t,g=-Math.abs(e),_=Math.abs(e),v=[0,h,g,_];Number.isFinite(p)&&v.push(p);let y=Math.max(...v.map(Math.abs),1)*1.18,b=Math.max(n,Number.isFinite(d)?Math.abs(d):n,.5)*1.35,x=m([-y,y],[pi,di-pi]),S=m([-b,b],[fi-hi,mi]);return{f:e,doDist:t,di:l,m:u,ho:n,hi:d,real:f,atFocus:c,objX:h,imageX:p,fLeft:g,fRight:_,sx:x,sy:S,converging:xi(r),mirror:Si(r)}},[r,i,a,o]),{sx:p,sy:h}=f,g=h(0),_=p(0),v=(0,P.useId)(),y=(0,P.useMemo)(()=>{let e=p(f.objX),t=h(f.ho),n=[],r=di-pi,i=pi;if(f.mirror){let a=p(f.fLeft),o=(g-t)/(a-_),s=t+o*(i-_);n.push({d:`M ${e} ${t} L ${_} ${t} L ${i} ${s}`,col:yi});let c=t+(g-t)/(a-e)*(_-e);if(n.push({d:`M ${e} ${t} L ${_} ${c} L ${i} ${c}`,col:yi}),Number.isFinite(f.di)&&f.di<0){let e=t+o*(r-_);n.push({d:`M ${_} ${t} L ${r} ${e}`,dash:!0,col:yi});let i=c;n.push({d:`M ${_} ${i} L ${r} ${i}`,dash:!0,col:yi})}}else{let a=p(f.fRight),o=t+(g-t)/(a-_)*(r-_);n.push({d:`M ${e} ${t} L ${_} ${t} L ${r} ${o}`,col:yi});let s=(h(0)-t)/(_-e),c=t+s*(r-e);if(n.push({d:`M ${e} ${t} L ${r} ${c}`,col:yi}),Number.isFinite(f.di)&&f.di<0){let r=t+(t-g)/(_-a)*(i-_);n.push({d:`M ${_} ${t} L ${i} ${r}`,dash:!0,col:yi});let o=t+s*(i-e);n.push({d:`M ${e} ${t} L ${i} ${o}`,dash:!0,col:yi})}}return n},[f,p,h,g,_]),b=(0,P.useMemo)(()=>{if(f.atFocus)return`Object at F — rays emerge parallel, no image forms (image at infinity).`;let e=f.real?`real`:`virtual`,t=f.m>0?`upright`:`inverted`,n=Math.abs(f.m);return`${e}, ${t}, ${Math.abs(n-1)<.02?`same size`:n>1?`enlarged ${n.toFixed(2)}×`:`reduced ${n.toFixed(2)}×`}`},[f]),x=h(f.ho>0?Math.max(f.ho,Math.abs(f.hi)||0):0),S=h(-(f.ho>0?Math.max(f.ho,Math.abs(f.hi)||0):0)),C=Math.min(Math.abs(g-x),Math.abs(S-g),70)||60;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`ray-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${di} ${fi}`,className:`ray-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`defs`,{children:(0,E.jsx)(`clipPath`,{id:v,children:(0,E.jsx)(`rect`,{x:pi,y:mi,width:di-2*pi,height:fi-mi-hi})})}),(0,E.jsx)(`line`,{x1:pi,y1:g,x2:di-pi,y2:g,className:`ray-axis`}),f.mirror?(0,E.jsx)(`path`,{d:f.converging?`M ${_+9} ${g-C} Q ${_-11} ${g} ${_+9} ${g+C}`:`M ${_-9} ${g-C} Q ${_+11} ${g} ${_-9} ${g+C}`,className:`ray-element ray-mirror`,fill:`none`}):(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:_,y1:g-C,x2:_,y2:g+C,className:`ray-element`}),f.converging?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(Ci,{x:_,y:g-C,angle:-Math.PI/2,color:`var(--line-strong)`}),(0,E.jsx)(Ci,{x:_,y:g+C,angle:Math.PI/2,color:`var(--line-strong)`})]}):(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(Ci,{x:_,y:g-C+9,angle:Math.PI/2,color:`var(--line-strong)`}),(0,E.jsx)(Ci,{x:_,y:g+C-9,angle:-Math.PI/2,color:`var(--line-strong)`})]})]}),[f.fLeft,f.fRight].map((e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:p(e),cy:g,r:2.6,fill:bi}),(0,E.jsx)(`text`,{x:p(e),y:g+14,className:`ray-f-lbl`,textAnchor:`middle`,children:`F`})]},`f${t}`)),(0,E.jsx)(`circle`,{cx:_,cy:g,r:2,fill:gi}),(0,E.jsx)(`g`,{clipPath:`url(#${v})`,children:y.map((e,t)=>(0,E.jsx)(`path`,{d:e.d,stroke:e.col,className:e.dash?`ray-ray ray-ray--dash`:`ray-ray`,fill:`none`},`ray${t}`))}),(0,E.jsx)(wi,{ax:f.objX,h:f.ho,color:_i,label:`Object`,sx:p,sy:h}),Number.isFinite(f.imageX)&&Number.isFinite(f.hi)&&(0,E.jsx)(wi,{ax:f.imageX,h:f.hi,color:vi,label:f.real?`Image`:`Image (virtual)`,dashed:!f.real,sx:p,sy:h})]})}),(0,E.jsxs)(`div`,{className:`ray-verdict`,children:[(0,E.jsx)(`span`,{className:`ray-verdict-dot`,style:{background:f.real?vi:`var(--warning)`}}),b]}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}var Ei=320,Di=268,Oi=44,ki=16,Ai=16,ji=40,Mi=`var(--insight)`,Ni=`var(--danger)`,Pi=`var(--text-secondary)`,Fi=[`var(--presence)`,`var(--warning)`,`var(--insight)`];function Ii(e){if(typeof e.slope==`number`)return Math.abs(e.slope);let t=e.u??0,n=e.v??0;return Math.hypot(t,n)}function Li(e){return typeof e.slope==`number`?Math.atan(e.slope):Math.atan2(e.v??0,e.u??0)}function Ri({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,samples:r=[],curves:i=[],xRange:a,yRange:o,xLabel:c=`x`,yLabel:u=`y`,mode:d,normalize:f=!0,colorByMagnitude:p=!0,footer:g,delay:v}){let y=s[t]||s.sparkle,{sx:b,sy:x,axisX:S,axisY:C,xTicks:w,yTicks:T,isSlope:D,glyphs:O,curvePaths:k}=(0,P.useMemo)(()=>{let e=r.length>0&&r.every(e=>typeof e.slope==`number`),t=d===`slope`||d!==`vector`&&e,n=[...r.map(e=>e.x),...i.flatMap(e=>e.points.map(e=>e.x)),0],s=[...r.map(e=>e.y),...i.flatMap(e=>e.points.map(e=>e.y)),0],c=_(n),l=_(s),[u,g]=a??(c?h(c[0],c[1]):[-3,3]),[v,y]=o??(l?h(l[0],l[1]):[-3,3]),b=m([u,g],[Oi,Ei-ki]),x=m([v,y],[Di-ji,Ai]),S=Math.max(Ai,Math.min(Di-ji,x(0))),C=Math.max(Oi,Math.min(Ei-ki,b(0))),w=r.map(e=>({px:b(e.x),py:x(e.y)})),T=1/0;for(let e=0;e<w.length;e++)for(let t=e+1;t<w.length;t++){let n=Math.hypot(w[e].px-w[t].px,w[e].py-w[t].py);n>.5&&n<T&&(T=n)}let E=Number.isFinite(T)?Math.min(26,Math.max(12,T*.42)):18,D=r.map(Ii),O=D.length?Math.min(...D):0,k=(D.length?Math.max(...D):1)-O||1,A=r.map((e,n)=>{let r=b(e.x),i=x(e.y),a=-Li(e),o=(D[n]-O)/k,s=(t||f?E:E*(.45+.55*o))/2,c=Math.cos(a)*s,l=Math.sin(a)*s,u=p?`color-mix(in oklab, ${Ni} ${Math.round(o*100)}%, ${Mi})`:t?Pi:`var(--presence)`;return{x1:r-c,y1:i-l,x2:r+c,y2:i+l,svgAng:a,color:u,key:`g${n}`}}),j=i.map((e,t)=>({d:e.points.map(e=>`${b(e.x)},${x(e.y)}`).join(` `),color:e.color||Fi[t%Fi.length],label:e.label,key:`c${t}`}));return{sx:b,sy:x,axisX:C,axisY:S,xTicks:b.ticks(6),yTicks:x.ticks(5),isSlope:t,glyphs:A,curvePaths:j,glyphLen:E}},[r,i,a,o,d,f,p]),A=O.length>0,j=(0,P.useId)();return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(v||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(y,{className:`ic`,style:{color:n}}),` `,e]}),A?(0,E.jsx)(`div`,{className:`vfl-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Ei} ${Di}`,className:`vfl-svg`,role:`img`,"aria-label":e,children:[(0,E.jsxs)(`defs`,{children:[(0,E.jsx)(`marker`,{id:`vfl-head`,markerWidth:`7`,markerHeight:`7`,refX:`5.4`,refY:`3`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,E.jsx)(`path`,{d:`M0.5,0.5 L6,3 L0.5,5.5`,className:`vfl-headshape`})}),(0,E.jsx)(`clipPath`,{id:j,children:(0,E.jsx)(`rect`,{x:Oi,y:Ai,width:Ei-ki-Oi,height:Di-ji-Ai})})]}),(0,E.jsxs)(`g`,{className:`vfl-grid`,children:[w.map(e=>(0,E.jsx)(`line`,{x1:b(e),y1:Ai,x2:b(e),y2:Di-ji},`gx${e}`)),T.map(e=>(0,E.jsx)(`line`,{x1:Oi,y1:x(e),x2:Ei-ki,y2:x(e)},`gy${e}`))]}),(0,E.jsx)(`line`,{x1:Oi,y1:C,x2:Ei-ki,y2:C,className:`vfl-axis`}),(0,E.jsx)(`line`,{x1:S,y1:Ai,x2:S,y2:Di-ji,className:`vfl-axis`}),w.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:b(e),y:241,className:`vfl-tick`,textAnchor:`middle`,children:e},`xt${e}`)),T.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:Oi-6,y:x(e)+3,className:`vfl-tick`,textAnchor:`end`,children:e},`yt${e}`)),(0,E.jsx)(`text`,{x:(364-ki)/2,y:Di-8,className:`vfl-axis-lbl`,textAnchor:`middle`,children:c}),(0,E.jsx)(`text`,{x:0,y:0,transform:`translate(13, ${(284-ji)/2}) rotate(-90)`,className:`vfl-axis-lbl`,textAnchor:`middle`,children:u}),(0,E.jsx)(`g`,{className:`vfl-glyphs`,children:O.map(e=>D?(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,className:`vfl-dash`},e.key):(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,className:`vfl-arrow`,markerEnd:`url(#vfl-head)`},e.key))}),(0,E.jsx)(`g`,{clipPath:`url(#${j})`,children:k.map(e=>(0,E.jsx)(`polyline`,{points:e.d,fill:`none`,stroke:e.color,className:`vfl-curve`},e.key))})]})}):(0,E.jsxs)(`div`,{className:`vfl-empty`,children:[`Provide field samples — `,`{ x, y, u, v }`,` for a vector field or `,`{ x, y, slope }`,` for a slope field.`]}),k.some(e=>e.label)&&(0,E.jsx)(`div`,{className:`vfl-legend`,children:k.filter(e=>e.label).map(e=>(0,E.jsxs)(`span`,{className:`vfl-leg`,children:[(0,E.jsx)(`i`,{style:{background:e.color}}),e.label]},`leg-${e.key}`))}),g&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:l(g)})]})}var zi=360,Bi=24,Vi=30,Hi=16,H=13,Ui=64,Wi=40,Gi=30,Ki=[`I`,`II`,`III`,`IV`,`V`,`VI`,`VII`,`VIII`,`IX`,`X`];function qi(e,t){let n=new Map;for(let t of e)n.set(t.id,t.gen??0);for(let t=0;t<e.length+1;t++){let t=!1;for(let r of e){if(!r.parents)continue;let e=r.parents.map(e=>n.get(e)).filter(e=>e!=null);if(e.length===0)continue;let i=Math.max(...e)+1;i>(n.get(r.id)??0)&&(n.set(r.id,i),t=!0)}if(!t)break}for(let r of e)if(r.partner&&t.has(r.partner)){let e=n.get(r.id)??0,t=n.get(r.partner)??0,i=Math.max(e,t);n.set(r.id,i),n.set(r.partner,i)}return n}function Ji(e,t){let n=new Map;for(let r of e){if(!r.parents||r.parents.length<2)continue;let[e,i]=r.parents;if(!t.has(e)||!t.has(i))continue;let a=t.get(e).sex===`female`,o=a?e:i,s=a?i:e,c=`${o}${s}`,l=n.get(c)??{motherId:o,fatherId:s,childIds:[]};l.childIds.push(r.id),n.set(c,l)}return[...n.values()]}function Yi({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,people:r=[],affectedLabel:i=`Affected`,carrierLabel:a=`Carrier`,showLegend:o=!0,footer:c,delay:u}){let d=s[t]??s.share,{placed:f,placedById:p,couples:m,matedInCouple:h,partnerOf:g,rows:_,H:v,rowY:y}=(0,P.useMemo)(()=>{let e=new Map;for(let t of r)e.set(t.id,t);let t=qi(r,e),n=Ji(r,e),i=new Map;for(let e of n)for(let t of e.childIds)i.set(t,e);let a=new Map;for(let e of n)a.set(e.motherId,e.fatherId),a.set(e.fatherId,e.motherId);for(let t of r)t.partner&&e.has(t.partner)&&!a.has(t.id)&&(a.set(t.id,t.partner),a.set(t.partner,t.id));let o=new Map;for(let e of n){let t=o.get(e.motherId)??new Set;t.add(e.fatherId),o.set(e.motherId,t);let n=o.get(e.fatherId)??new Set;n.add(e.motherId),o.set(e.fatherId,n)}let s=r.reduce((e,n)=>Math.max(e,t.get(n.id)??0),0),c=Array.from({length:s+1},()=>[]);for(let e of r)c[t.get(e.id)??0].push(e);let l=new Map;c.forEach(n=>{let r=0,i=new Set;for(let o of n){if(i.has(o.id))continue;l.set(o.id,r),i.add(o.id),r+=1;let n=a.get(o.id);n&&e.get(n)?.id&&(t.get(n)??0)===(t.get(o.id)??0)&&!i.has(n)&&(l.set(n,r),i.add(n),r+=1)}});for(let e=s;e>=1;e--){for(let r of n){if(r.childIds.map(e=>t.get(e)??0).reduce((e,t)=>Math.max(e,t),0)!==e)continue;let n=r.childIds.map(e=>l.get(e)??0),i=(Math.min(...n)+Math.max(...n))/2,a=Gi/Wi/2;l.set(r.motherId,i-a),l.set(r.fatherId,i+a)}let r=c[e-1].slice().sort((e,t)=>(l.get(e.id)??0)-(l.get(t.id)??0));for(let e=1;e<r.length;e++){let t=l.get(r[e-1].id)??0,n=l.get(r[e].id)??0,i=a.get(r[e-1].id)===r[e].id?Gi/Wi:1;n-t<i&&l.set(r[e].id,t+i)}}let u=r.map(e=>l.get(e.id)??0),d=Math.min(...u,0),f=Math.max(...u,0)-d||1,p=zi-Vi-Hi*2-2*H,m=e=>59+(e-d)/f*p,h=e=>31+e*Ui,g=r.map(e=>{let n=t.get(e.id)??0;return{...e,gen:n,cx:m(l.get(e.id)??0),cy:h(n)}}),_=new Map;for(let e of g)_.set(e.id,e);return{placed:g,placedById:_,couples:n,matedInCouple:o,partnerOf:a,rows:c,maxGen:s,H:31+s*Ui+H+Bi,rowY:h}},[r]),b=e=>{let t=p.get(e.motherId),n=p.get(e.fatherId);return!t||!n?null:{x:(t.cx+n.cx)/2,y:t.cy}},x=o&&f.length>0;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${u??0}ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`ped-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${zi} ${v}`,className:`ped-svg`,role:`img`,"aria-label":e,children:[_.map((e,t)=>e.length?(0,E.jsx)(`text`,{x:Vi-12,y:y(t)+4,className:`ped-gen`,textAnchor:`middle`,children:Ki[t]??t+1},`gen${t}`):null),m.map((e,t)=>{let n=b(e),r=p.get(e.motherId),i=p.get(e.fatherId);if(!n||!r||!i)return null;let a=e.childIds.map(e=>p.get(e)).filter(e=>!!e);if(a.length===0)return null;let o=a[0].cy,s=(n.y+o)/2,c=a.map(e=>e.cx),l=Math.min(...c),u=Math.max(...c);return(0,E.jsxs)(`g`,{className:`ped-links`,children:[(0,E.jsx)(`line`,{x1:r.cx+H,y1:n.y,x2:i.cx-H,y2:n.y,className:`ped-line`}),(0,E.jsx)(`line`,{x1:n.x,y1:n.y,x2:n.x,y2:s,className:`ped-line`}),a.length>1&&(0,E.jsx)(`line`,{x1:l,y1:s,x2:u,y2:s,className:`ped-line`}),a.map(e=>(0,E.jsx)(`line`,{x1:e.cx,y1:s,x2:e.cx,y2:e.cy-H,className:`ped-line`},e.id))]},`cp${t}`)}),f.map(e=>{let t=g.get(e.id);if(!t||e.id>t||h.get(e.id)?.has(t))return null;let n=p.get(e.id),r=p.get(t);if(!n||!r||n.cy!==r.cy)return null;let[i,a]=n.cx<r.cx?[n,r]:[r,n];return(0,E.jsx)(`line`,{x1:i.cx+H,y1:i.cy,x2:a.cx-H,y2:a.cy,className:`ped-line`},`mp${e.id}`)}),f.map(e=>(0,E.jsx)(Xi,{p:e},e.id))]})}),x&&(0,E.jsxs)(`ul`,{className:`ped-legend`,"aria-label":`Pedigree symbol key`,children:[(0,E.jsxs)(`li`,{className:`ped-leg`,children:[(0,E.jsx)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:(0,E.jsx)(`rect`,{x:-7,y:-7,width:14,height:14,className:`ped-leg-shape`})}),`Male`]}),(0,E.jsxs)(`li`,{className:`ped-leg`,children:[(0,E.jsx)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:(0,E.jsx)(`circle`,{cx:0,cy:0,r:7,className:`ped-leg-shape`})}),`Female`]}),(0,E.jsxs)(`li`,{className:`ped-leg`,children:[(0,E.jsx)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:(0,E.jsx)(`rect`,{x:-7,y:-7,width:14,height:14,className:`ped-leg-shape ped-leg-shape--fill`})}),i]}),(0,E.jsxs)(`li`,{className:`ped-leg`,children:[(0,E.jsxs)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:[(0,E.jsx)(`circle`,{cx:0,cy:0,r:7,className:`ped-leg-shape`}),(0,E.jsx)(`circle`,{cx:0,cy:0,r:2.4,className:`ped-leg-dot`})]}),a]})]}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:x?8:10},dangerouslySetInnerHTML:l(c)})]})}function Xi(e){let t=(0,F.c)(39),{p:n}=e,{cx:r,cy:i}=n,a=!!n.affected,o=!!n.carrier&&!a,s=`ped-sym${a?` ped-sym--affected`:``}`,c;if(n.sex===`female`){let e;t[0]!==s||t[1]!==r||t[2]!==i?(e=(0,E.jsx)(`circle`,{cx:r,cy:i,r:H,className:s}),t[0]=s,t[1]=r,t[2]=i,t[3]=e):e=t[3],c=e}else if(n.sex===`unknown`){let e=`${r},${i-H} ${r+H},${i} ${r},${i+H} ${r-H},${i}`,n;t[4]!==s||t[5]!==e?(n=(0,E.jsx)(`polygon`,{points:e,className:s}),t[4]=s,t[5]=e,t[6]=n):n=t[6],c=n}else{let e=r-H,n=i-H,a;t[7]!==s||t[8]!==e||t[9]!==n?(a=(0,E.jsx)(`rect`,{x:e,y:n,width:H*2,height:H*2,className:s}),t[7]=s,t[8]=e,t[9]=n,t[10]=a):a=t[10],c=a}let l;t[11]!==o||t[12]!==r||t[13]!==i?(l=o&&(0,E.jsx)(`circle`,{cx:r,cy:i,r:H*.28,className:`ped-carrier-dot`}),t[11]=o,t[12]=r,t[13]=i,t[14]=l):l=t[14];let u;t[15]!==r||t[16]!==i||t[17]!==n.deceased?(u=n.deceased&&(0,E.jsx)(`line`,{x1:r+H+3,y1:i-H-3,x2:r-H-3,y2:i+H+3,className:`ped-slash`}),t[15]=r,t[16]=i,t[17]=n.deceased,t[18]=u):u=t[18];let d;t[19]!==r||t[20]!==i||t[21]!==n.proband?(d=n.proband&&(0,E.jsxs)(`g`,{className:`ped-proband`,children:[(0,E.jsx)(`line`,{x1:r-H-10,y1:i+H+10,x2:r-H-1,y2:i+H+1,className:`ped-proband-line`}),(0,E.jsx)(`polygon`,{points:`${r-H-1},${i+H+1} ${r-H-6},${i+H+2} ${r-H-2},${i+H+6}`,className:`ped-proband-head`})]}),t[19]=r,t[20]=i,t[21]=n.proband,t[22]=d):d=t[22];let f;t[23]!==r||t[24]!==i||t[25]!==n.label?(f=n.label&&(0,E.jsx)(`text`,{x:r,y:i+H+11,className:`ped-name`,textAnchor:`middle`,children:n.label}),t[23]=r,t[24]=i,t[25]=n.label,t[26]=f):f=t[26];let p;t[27]!==r||t[28]!==i||t[29]!==n.genotype||t[30]!==n.label?(p=n.genotype&&(0,E.jsx)(`text`,{x:r,y:i+H+(n.label?20:11),className:`ped-geno`,textAnchor:`middle`,children:n.genotype}),t[27]=r,t[28]=i,t[29]=n.genotype,t[30]=n.label,t[31]=p):p=t[31];let m;return t[32]!==c||t[33]!==l||t[34]!==u||t[35]!==d||t[36]!==f||t[37]!==p?(m=(0,E.jsxs)(`g`,{children:[c,l,u,d,f,p]}),t[32]=c,t[33]=l,t[34]=u,t[35]=d,t[36]=f,t[37]=p,t[38]=m):m=t[38],m}var Zi=360,Qi=300,$i=(Zi-96)/2,ea=Qi/2,ta=26,na=24,ra=50,ia=4.2,aa=[2,8,18,32,50],oa=9.5*.62,sa=11;function ca(e,t){let n=Math.max(1,Math.floor(t/oa));if(e.length<=n)return[e];let r=e.split(` `),i=[],a=``,o=()=>{a&&=(i.push(a),``)};for(let e of r){if(e.length>n){o();for(let t=0;t<e.length;t+=n)i.push(e.slice(t,t+n));continue}let t=a?`${a} ${e}`:e;t.length>n&&a?(o(),a=e):a=t}return o(),i}function la(e,t,n){if(e<=0)return[];let r=[];for(let i=0;i<e;i++){let a=-Math.PI/2+n+i/e*Math.PI*2;r.push({x:$i+Math.cos(a)*t,y:ea+Math.sin(a)*t})}return r}function ua({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,protons:r,neutrons:i,shells:a,symbol:o,name:c,footer:u,delay:d}){let f=s[t]||s.spark,p=(0,P.useMemo)(()=>{let e=(a??[]).map(e=>Math.max(0,Math.floor(e))).filter(e=>Number.isFinite(e)),t=e.map((e,t)=>{let n=ra+t*na;return{index:t,radius:n,count:e,dots:la(e,n,t*.9),overFilled:e>(aa[t]??1/0)}}),n=e.reduce((e,t)=>e+t,0);return{rings:t,counts:e,electronTotal:n,mass:r+(i??0),charge:n-r}},[a,r,i]),m=p.rings.length?p.rings[p.rings.length-1].radius:ra,h=Zi-10,g=ea-(p.rings.length-1)*18/2,_=p.charge>0?`+`:p.charge<0?`−`:``,v=Math.abs(p.charge),y=ca(`${p.counts.join(`·`)} = ${p.electronTotal} e⁻`,h-270),b=Qi-14-(y.length-1)*sa;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`boh-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Zi} ${Qi}`,className:`boh-svg`,role:`img`,"aria-label":e,children:[p.rings.map(e=>(0,E.jsx)(`circle`,{cx:$i,cy:ea,r:e.radius,className:e.overFilled?`boh-ring boh-ring--over`:`boh-ring`},`ring${e.index}`)),(0,E.jsx)(`circle`,{cx:$i,cy:ea,r:ta,className:`boh-nucleus`}),(0,E.jsxs)(`text`,{x:$i,y:ea-(i===void 0?0:5),className:`boh-nuc-p`,textAnchor:`middle`,dominantBaseline:`middle`,children:[r,`p⁺`]}),i!==void 0&&(0,E.jsxs)(`text`,{x:$i,y:158,className:`boh-nuc-n`,textAnchor:`middle`,dominantBaseline:`middle`,children:[i,`n⁰`]}),p.rings.map(e=>e.dots.map((t,n)=>(0,E.jsx)(`circle`,{cx:t.x,cy:t.y,r:ia,className:`boh-electron`},`e${e.index}-${n}`))),o&&(0,E.jsxs)(`text`,{x:$i,y:ea-m-16,className:`boh-symbol`,textAnchor:`middle`,children:[o,v>0&&(0,E.jsxs)(`tspan`,{className:`boh-ion`,dy:-6,children:[v>1?v:``,_]})]}),c&&(0,E.jsx)(`text`,{x:$i,y:ea+m+22,className:`boh-name`,textAnchor:`middle`,children:c}),p.rings.map((e,t)=>{let n=g+t*18;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:$i+e.radius,y1:ea,x2:270,y2:n,className:`boh-leader`}),(0,E.jsxs)(`text`,{x:h,y:n+3,className:`boh-shell-lbl`,textAnchor:`end`,children:[(0,E.jsxs)(`tspan`,{className:`boh-shell-n`,children:[`n`,e.index+1]}),` `,(0,E.jsxs)(`tspan`,{className:`boh-shell-e`,children:[e.count,` e⁻`]})]})]},`lbl${e.index}`)}),(0,E.jsx)(`text`,{x:h,y:b,className:`boh-config`,textAnchor:`end`,children:y.map((e,t)=>(0,E.jsx)(`tspan`,{x:h,dy:t===0?0:sa,children:e},t))})]})}),(0,E.jsxs)(`div`,{className:`boh-stats`,children:[(0,E.jsxs)(`span`,{className:`boh-stat`,children:[(0,E.jsx)(`i`,{className:`boh-stat-k`,children:`Protons`}),(0,E.jsx)(`b`,{className:`boh-stat-v`,children:r})]}),i!==void 0&&(0,E.jsxs)(`span`,{className:`boh-stat`,children:[(0,E.jsx)(`i`,{className:`boh-stat-k`,children:`Neutrons`}),(0,E.jsx)(`b`,{className:`boh-stat-v`,children:i})]}),(0,E.jsxs)(`span`,{className:`boh-stat`,children:[(0,E.jsx)(`i`,{className:`boh-stat-k`,children:`Electrons`}),(0,E.jsx)(`b`,{className:`boh-stat-v`,children:p.electronTotal})]}),(0,E.jsxs)(`span`,{className:`boh-stat`,children:[(0,E.jsx)(`i`,{className:`boh-stat-k`,children:`Mass no.`}),(0,E.jsx)(`b`,{className:`boh-stat-v`,children:p.mass})]}),p.charge!==0&&(0,E.jsxs)(`span`,{className:`boh-stat boh-stat--ion`,children:[(0,E.jsx)(`i`,{className:`boh-stat-k`,children:`Charge`}),(0,E.jsxs)(`b`,{className:`boh-stat-v`,children:[v>1?v:``,_]})]})]}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:l(u)})]})}function da(e){let t=(0,F.c)(10),{text:n}=e,r,i,a;if(t[0]!==n){let e=n.match(/\^(\d*[+-])$/),o=e?n.slice(0,e.index):n;r=e?e[1].replace(`-`,`−`):null;let s=o.split(/(\d+)/).filter(pa);i=`lr-eqb-formula`,a=s.map(fa),t[0]=n,t[1]=r,t[2]=i,t[3]=a}else r=t[1],i=t[2],a=t[3];let o;t[4]===r?o=t[5]:(o=r&&(0,E.jsx)(`sup`,{className:`lr-eqb-charge`,children:r}),t[4]=r,t[5]=o);let s;return t[6]!==i||t[7]!==a||t[8]!==o?(s=(0,E.jsxs)(`span`,{className:i,children:[a,o]}),t[6]=i,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}function fa(e,t){return/^\d+$/.test(e)?(0,E.jsx)(`sub`,{children:e},t):(0,E.jsx)(P.Fragment,{children:e},t)}function pa(e){return e!==``}function ma(e){let t=(0,F.c)(4),{species:n}=e,r;t[0]===n?r=t[1]:(r=n.map(ha),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,E.jsx)(E.Fragment,{children:r}),t[2]=r,t[3]=i),i}function ha(e,t){return(0,E.jsxs)(P.Fragment,{children:[t>0&&(0,E.jsx)(`span`,{className:`lr-eqb-plus`,children:`+`}),(0,E.jsxs)(`span`,{className:`lr-eqb-species`,children:[e.coeff>1&&(0,E.jsx)(`span`,{className:`lr-eqb-coeff`,children:e.coeff}),(0,E.jsx)(da,{text:e.formula})]})]},t)}function ga({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,reactants:r=[],products:i=[],elementTally:a=[],balanced:o,caption:c,footer:u,delay:d}){let f=s[t]||s.sparkle,p=(0,P.useMemo)(()=>a.every(e=>e.left===e.right),[a]),m=o??(a.length>0?p:void 0);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e,m!==void 0&&(0,E.jsx)(`span`,{className:m?`lr-eqb-badge lr-eqb-badge--ok`:`lr-eqb-badge lr-eqb-badge--no`,children:m?`balanced ✓`:`not balanced`})]}),(0,E.jsxs)(`div`,{className:`lr-eqb-eq`,children:[(0,E.jsx)(ma,{species:r}),(0,E.jsx)(`span`,{className:`lr-eqb-arrow`,"aria-label":`reacts to form`,children:`→`}),(0,E.jsx)(ma,{species:i})]}),a.length>0&&(0,E.jsxs)(`div`,{className:`lr-eqb-tally`,role:`table`,"aria-label":`Atom balance by element`,children:[(0,E.jsxs)(`div`,{className:`lr-eqb-trow lr-eqb-thead`,role:`row`,children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Element`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Left`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Right`})]}),a.map((e,t)=>(0,E.jsxs)(`div`,{className:e.left===e.right?`lr-eqb-trow lr-eqb-trow--ok`:`lr-eqb-trow lr-eqb-trow--no`,role:`row`,children:[(0,E.jsx)(`span`,{className:`lr-eqb-el`,role:`cell`,children:e.element}),(0,E.jsx)(`span`,{className:`lr-eqb-n`,role:`cell`,children:e.left}),(0,E.jsx)(`span`,{className:`lr-eqb-n`,role:`cell`,children:e.right})]},t))]}),c&&(0,E.jsx)(`p`,{className:`lr-eqb-cap`,children:c}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}function _a(e){let t=(0,F.c)(6),{text:n}=e,r,i;if(t[0]!==n){let e=n.split(/(\d+)/).filter(ya);r=`lr-yc-formula`,i=e.map(va),t[0]=n,t[1]=r,t[2]=i}else r=t[1],i=t[2];let a;return t[3]!==r||t[4]!==i?(a=(0,E.jsx)(`span`,{className:r,children:i}),t[3]=r,t[4]=i,t[5]=a):a=t[5],a}function va(e,t){return/^\d+$/.test(e)?(0,E.jsx)(`sub`,{children:e},t):(0,E.jsx)(P.Fragment,{children:e},t)}function ya(e){return e!==``}function ba({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,reaction:r,limitingReagent:i,molesAvailable:a,theoreticalYield:o,actualYield:c,unit:d=`g`,footer:f,delay:p}){let m=s[t]||s.sparkle,h=(0,P.useMemo)(()=>Array.isArray(a)?a.filter(e=>!!e&&typeof e.reagent==`string`&&e.reagent.trim()!==``&&Number.isFinite(e.moles)):[],[a]),g=typeof i==`string`?i.trim():``,_=g?g.toLowerCase():void 0,v=(0,P.useMemo)(()=>typeof o!=`number`||!Number.isFinite(o)||o<=0||typeof c!=`number`||!Number.isFinite(c)||c<0?null:c/o*100,[o,c]),b=+(v!==null&&Math.abs(v-Math.round(v))>.05),x=y(v??0,{delay:(p||0)+140,decimals:b}),S=typeof r==`string`?r.trim():``,C=S?S.replace(/-+>|=+>/g,`→`):null,w=C||g||h.length>0||v!==null;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(m,{className:`ic`,style:{color:n}}),` `,e,v!==null&&(0,E.jsx)(`span`,{className:v>100?`lr-yc-badge lr-yc-badge--over`:`lr-yc-badge lr-yc-badge--ok`,children:v>100?`above 100%`:`yield`})]}),C&&(0,E.jsx)(`p`,{className:`lr-yc-reaction`,children:C}),v===null?g&&h.length===0&&(0,E.jsxs)(`p`,{className:`lr-yc-cap`,children:[`Limiting reagent: `,(0,E.jsx)(`strong`,{children:g})]}):(0,E.jsxs)(`div`,{className:`lr-yc-head`,children:[(0,E.jsxs)(`div`,{className:`lr-yc-pct-row`,children:[(0,E.jsx)(`span`,{className:`lr-yc-pct tab-num`,children:x}),(0,E.jsx)(`span`,{className:`lr-yc-pct-suffix`,children:`% yield`})]}),(0,E.jsxs)(`div`,{className:`lr-yc-yield-line`,children:[(0,E.jsx)(`strong`,{className:`tab-num`,children:u(c,d)}),` actual`,` / `,(0,E.jsx)(`strong`,{className:`tab-num`,children:u(o,d)}),` `,`theoretical`]})]}),h.length>0&&(0,E.jsxs)(`div`,{className:`lr-yc-table`,role:`table`,"aria-label":`Moles available by reagent`,children:[(0,E.jsxs)(`div`,{className:`lr-yc-trow lr-yc-thead`,role:`row`,children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Reagent`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Moles`})]}),h.map((e,t)=>{let n=_!==void 0&&e.reagent.trim().toLowerCase()===_;return(0,E.jsxs)(`div`,{className:n?`lr-yc-trow lr-yc-trow--limiting m-stagger-item m-fade-rise`:`lr-yc-trow m-stagger-item m-fade-rise`,style:{"--i":t},role:`row`,children:[(0,E.jsxs)(`span`,{className:`lr-yc-reagent`,role:`cell`,children:[(0,E.jsx)(_a,{text:e.reagent}),n&&(0,E.jsx)(`span`,{className:`lr-yc-limbadge`,children:`limiting`})]}),(0,E.jsx)(`span`,{className:`lr-yc-moles tab-num`,role:`cell`,children:e.moles})]},t)})]}),!w&&(0,E.jsx)(`p`,{className:`faint`,style:{fontSize:13,margin:`4px 0 0`},children:`Provide a reaction, limiting reagent, or yield figures to compute a result.`}),f&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(f)})]})}var xa=300,Sa=270,Ca=xa/2,wa=141,Ta=80,Ea=46,Da={linear:{bonds:[{angle:0,depth:`flat`},{angle:180,depth:`flat`}],lone:[]},trigonal:{bonds:[{angle:90,depth:`flat`},{angle:210,depth:`flat`},{angle:330,depth:`flat`}],lone:[]},bent:{bonds:[{angle:235,depth:`flat`},{angle:305,depth:`flat`}],lone:[70,110]},tetrahedral:{bonds:[{angle:90,depth:`flat`},{angle:210,depth:`dash`},{angle:330,depth:`wedge`},{angle:270,depth:`wedge`}],lone:[]},pyramidal:{bonds:[{angle:210,depth:`flat`},{angle:330,depth:`flat`},{angle:270,depth:`wedge`}],lone:[90]},octahedral:{bonds:[{angle:90,depth:`flat`},{angle:270,depth:`flat`},{angle:0,depth:`flat`},{angle:180,depth:`flat`},{angle:45,depth:`wedge`},{angle:225,depth:`dash`}],lone:[]}};function Oa(e,t){let n=e+t;return n<=2?`linear`:n===3?t>0?`bent`:`trigonal`:n===4?t>=2?`bent`:t===1?`pyramidal`:`tetrahedral`:`octahedral`}var ka=e=>e*Math.PI/180,Aa=(e,t,n)=>e+Math.cos(ka(n))*t,ja=(e,t,n)=>e-Math.sin(ka(n))*t;function Ma({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,central:r,bonds:i=[],lonePairs:a=0,shape:o,bondAngle:c,caption:u,footer:d,delay:f}){let p=s[t]||s.sparkle,m=(0,P.useMemo)(()=>{let e=(o||Oa(i.length,a)).toLowerCase(),t=Da[e]??Da[Oa(i.length,a)],n=i.map((e,n)=>t.bonds[n]?t.bonds[n]:{angle:n/Math.max(i.length,1)*360,depth:`flat`}),r=i.map((e,t)=>{let r=n[t];return{atom:e.atom,order:e.order??1,depth:r.depth,x:Aa(Ca,Ta,r.angle),y:ja(wa,Ta,r.angle),angle:r.angle}}),s=[];for(let e=0;e<a;e++){let n=t.lone[e]??90+e*360/Math.max(a,1);s.push({x:Aa(Ca,Ea,n),y:ja(wa,Ea,n),angle:n})}return{key:e,placed:r,lone:s}},[o,i,a]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-vse-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${xa} ${Sa}`,className:`lr-vse-svg`,role:`img`,"aria-label":e,children:[m.placed.map((e,t)=>{let n=e.x-Ca,r=e.y-wa,i=Math.hypot(n,r)||1,a=-r/i*3.2,o=n/i*3.2,s=e.order===3?[-1,0,1]:e.order===2?[-1,1]:[0];return e.depth===`wedge`?(0,E.jsx)(`polygon`,{className:`lr-vse-wedge`,points:`${Ca},${wa} ${e.x+5/3.2*a},${e.y+5/3.2*o} ${e.x-5/3.2*a},${e.y-5/3.2*o}`},`b${t}`):e.depth===`dash`?(0,E.jsx)(`g`,{className:`lr-vse-dash`,children:Array.from({length:5},(e,t)=>{let i=(t+.5)/5,s=Ca+n*i,c=wa+r*i,l=i*5/3.2;return(0,E.jsx)(`line`,{x1:s+a*l,y1:c+o*l,x2:s-a*l,y2:c-o*l},t)})},`b${t}`):(0,E.jsx)(`g`,{children:s.map((t,n)=>(0,E.jsx)(`line`,{className:`lr-vse-bond`,x1:Ca+a*t,y1:wa+o*t,x2:e.x+a*t,y2:e.y+o*t},n))},`b${t}`)}),m.lone.map((e,t)=>{let n=e.angle+90,r=Math.cos(ka(n))*4,i=-Math.sin(ka(n))*4;return(0,E.jsxs)(`g`,{className:`lr-vse-lone`,children:[(0,E.jsx)(`circle`,{cx:e.x+r,cy:e.y+i,r:2.4}),(0,E.jsx)(`circle`,{cx:e.x-r,cy:e.y-i,r:2.4})]},`lp${t}`)}),m.placed.map((e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:e.x,cy:e.y,r:15,className:`lr-vse-atom-bg`}),(0,E.jsx)(`text`,{x:e.x,y:e.y+4,className:`lr-vse-atom`,textAnchor:`middle`,children:e.atom})]},`a${t}`)),(0,E.jsx)(`circle`,{cx:Ca,cy:wa,r:19,className:`lr-vse-central-bg`}),(0,E.jsx)(`text`,{x:Ca,y:146,className:`lr-vse-central`,textAnchor:`middle`,children:r})]})}),(0,E.jsxs)(`div`,{className:`lr-vse-stats`,children:[(0,E.jsxs)(`span`,{className:`lr-vse-stat`,children:[(0,E.jsx)(`i`,{className:`lr-vse-stat-k`,children:`Shape`}),(0,E.jsx)(`b`,{className:`lr-vse-stat-v`,children:o||m.key})]}),c&&(0,E.jsxs)(`span`,{className:`lr-vse-stat`,children:[(0,E.jsx)(`i`,{className:`lr-vse-stat-k`,children:`Bond angle`}),(0,E.jsx)(`b`,{className:`lr-vse-stat-v`,children:c})]}),a>0&&(0,E.jsxs)(`span`,{className:`lr-vse-stat`,children:[(0,E.jsx)(`i`,{className:`lr-vse-stat-k`,children:`Lone pairs`}),(0,E.jsx)(`b`,{className:`lr-vse-stat-v`,children:a})]})]}),u&&(0,E.jsx)(`p`,{className:`lr-vse-cap`,children:u}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(d)})]})}var U=240,W=U/2,G=U/2,Na=84,Pa=e=>e*Math.PI/180,Fa=e=>W+Math.cos(Pa(e))*Na,Ia=e=>G-Math.sin(Pa(e))*Na,La=[0,30,45,60,90,120,135,150,180,210,225,240,270,300,315,330];function Ra(e){let t=(e%360+360)%360;if(t===0)return`0`;let n=t,r=180,i=za(n,r);n/=i,r/=i;let a=n===1?`π`:`${n}π`;return r===1?a:`${a}/${r}`}function za(e,t){return t===0?e:za(t,e%t)}function Ba(e){let t=[[0,`0`],[1,`1`],[-1,`−1`],[.5,`½`],[-.5,`−½`],[Math.SQRT1_2,`√2/2`],[-Math.SQRT1_2,`−√2/2`],[Math.sqrt(3)/2,`√3/2`],[-Math.sqrt(3)/2,`−√3/2`]];for(let[n,r]of t)if(Math.abs(e-n)<1e-6)return r;return(e<0?`−`:``)+Math.abs(e).toFixed(2)}var Va=6.4,Ha=4;function Ua(e,t,n){let r=t>=0?`start`:`end`,i=n.length*Va,a=8+Math.min(i*.15,10),o=e+(t>=0?a:-a);return o=r===`start`?Math.min(o,U-Ha-i):Math.max(o,Ha+i),{x:o,anchor:r}}function Wa({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,angleDeg:r,showSpecial:i=!0,caption:a,footer:o,delay:c}){let u=s[t]||s.chart,d=(0,P.useMemo)(()=>{let e=(r%360+360)%360,t=Math.cos(Pa(e)),n=Math.sin(Pa(e)),i=W+t*Na,a=G-n*Na,o={x:W+Math.cos(Pa(e))*26,y:G-Math.sin(Pa(e))*26},s=`M 146,${G} A 26,26 0 ${+(e>180)} 0 ${o.x},${o.y}`,c=`(${Ba(t)}, ${Ba(n)})`,{x:l,anchor:u}=Ua(i,t,c);return{deg:e,cos:t,sin:n,tx:i,ty:a,arcPath:s,coordLabel:c,coordX:l,coordY:Math.min(Math.max(a+(n>=0?-8:16),12),U-6),coordAnchor:u}},[r]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-uc-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${U} ${U}`,className:`lr-uc-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`line`,{x1:12,y1:G,x2:U-12,y2:G,className:`lr-uc-axis`}),(0,E.jsx)(`line`,{x1:W,y1:U-12,x2:W,y2:12,className:`lr-uc-axis`}),(0,E.jsx)(`polygon`,{points:`${U-12},${G} ${U-18},${G-3.5} ${U-18},123.5`,className:`lr-uc-axis-arrow`}),(0,E.jsx)(`polygon`,{points:`${W},12 ${W-3.5},18 123.5,18`,className:`lr-uc-axis-arrow`}),(0,E.jsx)(`circle`,{cx:W,cy:G,r:Na,className:`lr-uc-circle`}),i&&La.map(e=>(0,E.jsx)(`line`,{x1:W+Math.cos(Pa(e))*(Na-4),y1:G-Math.sin(Pa(e))*(Na-4),x2:Fa(e),y2:Ia(e),className:`lr-uc-tick`},e)),(0,E.jsx)(`line`,{x1:W,y1:G,x2:d.tx,y2:G,className:`lr-uc-leg lr-uc-leg--cos`}),(0,E.jsx)(`line`,{x1:d.tx,y1:G,x2:d.tx,y2:d.ty,className:`lr-uc-leg lr-uc-leg--sin`}),(0,E.jsx)(`path`,{d:d.arcPath,className:`lr-uc-arc`}),(0,E.jsx)(`text`,{x:W+Math.cos(Pa(d.deg/2))*40,y:G-Math.sin(Pa(d.deg/2))*40+3,className:`lr-uc-angle-lbl`,textAnchor:`middle`,children:`θ`}),(0,E.jsx)(`line`,{x1:W,y1:G,x2:d.tx,y2:d.ty,className:`lr-uc-radius`}),(0,E.jsx)(`circle`,{cx:d.tx,cy:d.ty,r:4.5,className:`lr-uc-point`}),(0,E.jsx)(`text`,{x:d.coordX,y:d.coordY,className:`lr-uc-coord`,textAnchor:d.coordAnchor,children:d.coordLabel})]})}),(0,E.jsxs)(`div`,{className:`lr-uc-stats`,children:[(0,E.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,E.jsx)(`i`,{className:`lr-uc-stat-k`,children:`Angle`}),(0,E.jsxs)(`b`,{className:`lr-uc-stat-v`,children:[d.deg,`°`]})]}),(0,E.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,E.jsx)(`i`,{className:`lr-uc-stat-k`,children:`Radians`}),(0,E.jsx)(`b`,{className:`lr-uc-stat-v`,children:Ra(d.deg)})]}),(0,E.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,E.jsx)(`i`,{className:`lr-uc-stat-k`,children:`cos θ`}),(0,E.jsx)(`b`,{className:`lr-uc-stat-v`,children:Ba(d.cos)})]}),(0,E.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,E.jsx)(`i`,{className:`lr-uc-stat-k`,children:`sin θ`}),(0,E.jsx)(`b`,{className:`lr-uc-stat-v`,children:Ba(d.sin)})]})]}),a&&(0,E.jsx)(`p`,{className:`lr-uc-cap`,children:a}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(o)})]})}var Ga=280,Ka=240,qa=.5,Ja=-.5,K=(e,t)=>({x:e,y:t}),Ya=e=>e.map(e=>`${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(` `);function Xa(e,t){let n=t??{},r=(e,t)=>Math.max(.4,Math.min(2.4,e??t)),i=r(n.w,1.4),a=r(n.h,1),o=r(n.d,.9),s=r(n.r,1),c=i*58,l=a*58,u=o*58,d=s*58*.6,f=u*qa,p=u*Ja,m=Ga/2-(c+f)/2,h=Ka/2+(l-p)/2,g=[],_=[],v=null;if(e===`cube`||e===`rectprism`||e===`prism`){let e=K(m,h),t=K(m+c,h),n=K(m+c,h-l),r=K(m,h-l),i=e=>K(e.x+f,e.y+p);g.push({pts:[i(e),i(t),i(n),i(r)],hidden:!0}),g.push({pts:[e,t,n,r]}),g.push({pts:[r,n,i(n),i(r)]}),g.push({pts:[t,i(t),i(n),n]})}else if(e===`pyramid`){let e=K(m,h),t=K(m+c,h),n=e=>K(e.x+f,e.y+p),r=n(t),i=n(e);v=K(m+c/2+f/2,h-l+p/2),g.push({pts:[e,t,r,i],hidden:!0}),g.push({pts:[e,t,v]}),g.push({pts:[t,r,v]})}else if(e===`cylinder`){let e=c/2,t=e*.32,n=h-l;_.push({cx:m+e,cy:h,rx:e,ry:t,hidden:!0}),g.push({pts:[K(m,n),K(m,h),K(m+c,h),K(m+c,n)]}),_.push({cx:m+e,cy:n,rx:e,ry:t})}else if(e===`cone`){let e=c/2,t=e*.32;v=K(m+e,h-l),_.push({cx:m+e,cy:h,rx:e,ry:t}),g.push({pts:[K(m,h),v]}),g.push({pts:[K(m+c,h),v]})}else _.push({cx:Ga/2,cy:Ka/2,rx:d,ry:d}),_.push({cx:Ga/2,cy:Ka/2,rx:d,ry:d*.34,hidden:!0});return{faces:g,ellipses:_,apex:v}}function Za({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,solid:r,dims:i,labels:a,surfaceArea:o,volume:c,caption:u,footer:d,delay:f}){let p=s[t]||s.layers,m=(0,P.useMemo)(()=>Xa(r,i),[r,i]),h=[];a?.v!==void 0&&h.push({k:`V`,v:a.v}),a?.e!==void 0&&h.push({k:`E`,v:a.e}),a?.f!==void 0&&h.push({k:`F`,v:a.f});let g=a?.v!==void 0&&a?.e!==void 0&&a?.f!==void 0?a.v-a.e+a.f:null;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-sf-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Ga} ${Ka}`,className:`lr-sf-svg`,role:`img`,"aria-label":e,children:[m.faces.map((e,t)=>({f:e,i:t})).sort((e,t)=>Number(t.f.hidden)-Number(e.f.hidden)).map(({f:e,i:t})=>e.pts.length===2?(0,E.jsx)(`line`,{x1:e.pts[0].x,y1:e.pts[0].y,x2:e.pts[1].x,y2:e.pts[1].y,className:e.hidden?`lr-sf-edge lr-sf-edge--hidden`:`lr-sf-edge`},`f${t}`):(0,E.jsx)(`polygon`,{points:Ya(e.pts),className:e.hidden?`lr-sf-face lr-sf-face--hidden`:`lr-sf-face`},`f${t}`)),m.ellipses.map((e,t)=>(0,E.jsx)(`ellipse`,{cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,className:e.hidden?`lr-sf-rim lr-sf-rim--hidden`:`lr-sf-rim`},`e${t}`))]})}),(h.length>0||o||c)&&(0,E.jsxs)(`div`,{className:`lr-sf-stats`,children:[h.map(e=>(0,E.jsxs)(`span`,{className:`lr-sf-chip`,children:[(0,E.jsx)(`i`,{className:`lr-sf-chip-k`,children:e.k}),(0,E.jsx)(`b`,{className:`lr-sf-chip-v`,children:e.v})]},e.k)),g!==null&&(0,E.jsxs)(`span`,{className:`lr-sf-euler`,children:[`V − E + F = `,(0,E.jsx)(`b`,{children:g})]}),o&&(0,E.jsxs)(`span`,{className:`lr-sf-chip lr-sf-chip--measure`,children:[(0,E.jsx)(`i`,{className:`lr-sf-chip-k`,children:`SA`}),(0,E.jsx)(`b`,{className:`lr-sf-chip-v`,children:o})]}),c&&(0,E.jsxs)(`span`,{className:`lr-sf-chip lr-sf-chip--measure`,children:[(0,E.jsx)(`i`,{className:`lr-sf-chip-k`,children:`Vol`}),(0,E.jsx)(`b`,{className:`lr-sf-chip-v`,children:c})]})]}),u&&(0,E.jsx)(`p`,{className:`lr-sf-cap`,children:u}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(d)})]})}var Qa=[`var(--warning)`,`var(--danger)`,`var(--presence)`,`var(--insight)`,`var(--presence-deep)`,`var(--insight-soft)`],$a=(e,t)=>e.color??Qa[t%Qa.length],eo=20,to=16;function no(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var ro=320,io=8,ao=14,oo=116,so=160,co=26,lo=240,uo=lo/2,fo=lo/2,po=104;function mo({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,layers:r=[],orientation:i=`horizontal`,depthUnit:a,caption:o,footer:c,delay:l}){let u=s[t]||s.layers,f=(0,P.useMemo)(()=>{let e=r.filter(e=>e.thickness>0);return{clean:e,total:e.reduce((e,t)=>e+t.thickness,0)||1}},[r]);if(i===`concentric`){let t=po,r=f.clean.map((e,n)=>{let r=t,i=Math.max(0,t-e.thickness/f.total*po);return t=i,{layer:e,i:n,outer:r,inner:i,midR:(r+i)/2}}),i=lo,s=i-10,d=r.length>1?Math.min(18,(s-10)/(r.length-1)):18;return(0,E.jsxs)(_o,{title:e,Ic:u,iconColor:n,caption:o,footer:c,delay:l,children:[(0,E.jsx)(`div`,{className:`lr-xs-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${i} ${i}`,className:`lr-xs-svg lr-xs-svg--ring`,role:`img`,"aria-label":e,children:[r.map(e=>(0,E.jsx)(`circle`,{cx:uo,cy:fo,r:e.outer,fill:`color-mix(in oklab, ${$a(e.layer,e.i)} ${28+e.i*6}%, var(--surface-default))`,stroke:$a(e.layer,e.i),className:`lr-xs-ring`},`ring${e.i}`)),r.map(e=>{let t=10+e.i*d;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:uo,y1:fo-e.midR,x2:lo-8,y2:t,className:`lr-xs-leader`}),(0,E.jsxs)(`text`,{x:lo-6,y:t+3,className:`lr-xs-ring-lbl`,textAnchor:`end`,children:[e.layer.name.length>to&&(0,E.jsx)(`title`,{children:e.layer.name}),no(e.layer.name,to)]})]},`lbl${e.i}`)})]})}),(0,E.jsx)(ho,{layers:f.clean,depthUnit:a,total:f.total})]})}let p=f.clean.length*co,m=Math.max(0,56*f.clean.length),h=io,g=0,_=f.clean.map((e,t)=>{let n=co+e.thickness/f.total*m,r={layer:e,i:t,y:h,h:n,depthTop:g};return h+=n,g+=e.thickness,r}),v=h+10;return(0,E.jsxs)(_o,{title:e,Ic:u,iconColor:n,caption:o,footer:c,delay:l,children:[(0,E.jsx)(`div`,{className:`lr-xs-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${ro} ${Math.max(v,p+io+10)}`,className:`lr-xs-svg`,role:`img`,"aria-label":e,children:[a&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`line`,{x1:ao-6,y1:io,x2:ao-6,y2:h,className:`lr-xs-axis`}),_.map(e=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:ao-9,y1:e.y,x2:ao-3,y2:e.y,className:`lr-xs-axis-tick`}),(0,E.jsx)(`text`,{x:ao-11,y:e.y+3,className:`lr-xs-depth`,textAnchor:`end`,children:d(e.depthTop)})]},`d${e.i}`)),(0,E.jsx)(`text`,{x:ao-9,y:h+4,className:`lr-xs-depth lr-xs-depth--last`,textAnchor:`end`,children:d(g)})]}),_.map(e=>{let t=$a(e.layer,e.i);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`rect`,{x:ao,y:e.y,width:oo,height:e.h,rx:2,fill:`color-mix(in oklab, ${t} 30%, var(--surface-default))`,stroke:t,className:`lr-xs-band`}),(0,E.jsx)(`line`,{x1:130,y1:e.y+e.h/2,x2:so-6,y2:e.y+e.h/2,className:`lr-xs-leader`}),(0,E.jsxs)(`text`,{x:so,y:e.y+e.h/2-1,className:`lr-xs-band-name`,children:[e.layer.name.length>eo&&(0,E.jsx)(`title`,{children:e.layer.name}),no(e.layer.name,eo)]}),e.layer.note&&(0,E.jsxs)(`text`,{x:so,y:e.y+e.h/2+12,className:`lr-xs-band-note`,children:[e.layer.note.length>eo&&(0,E.jsx)(`title`,{children:e.layer.note}),no(e.layer.note,eo)]})]},`band${e.i}`)})]})}),a&&(0,E.jsxs)(`p`,{className:`lr-xs-unit`,children:[`Depth in `,a,` · total `,d(f.total,{unit:a})]})]})}function ho(e){let t=(0,F.c)(11),{layers:n,depthUnit:r,total:i}=e;if(n.every(go)&&!r)return null;let a;if(t[0]!==r||t[1]!==n){let e;t[3]===r?e=t[4]:(e=(e,t)=>(0,E.jsxs)(`li`,{className:`lr-xs-leg-row`,children:[(0,E.jsx)(`span`,{className:`lr-xs-leg-dot`,style:{background:$a(e,t)},"aria-hidden":`true`}),(0,E.jsx)(`span`,{className:`lr-xs-leg-name`,children:e.name}),r&&(0,E.jsx)(`span`,{className:`lr-xs-leg-thick`,children:d(e.thickness,{unit:r})}),e.note&&(0,E.jsx)(`span`,{className:`lr-xs-leg-note`,children:e.note})]},t),t[3]=r,t[4]=e),a=n.map(e),t[0]=r,t[1]=n,t[2]=a}else a=t[2];let o;t[5]!==r||t[6]!==i?(o=r&&(0,E.jsxs)(`li`,{className:`lr-xs-leg-row lr-xs-leg-row--total`,children:[(0,E.jsx)(`span`,{className:`lr-xs-leg-dot lr-xs-leg-dot--ghost`,"aria-hidden":`true`}),(0,E.jsx)(`span`,{className:`lr-xs-leg-name`,children:`Total`}),(0,E.jsx)(`span`,{className:`lr-xs-leg-thick`,children:d(i,{unit:r})})]}),t[5]=r,t[6]=i,t[7]=o):o=t[7];let s;return t[8]!==a||t[9]!==o?(s=(0,E.jsxs)(`ul`,{className:`lr-xs-legend`,children:[a,o]}),t[8]=a,t[9]=o,t[10]=s):s=t[10],s}function go(e){return!e.note}function _o({title:e,Ic:t,iconColor:n,caption:r,footer:i,delay:a,children:o}){return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(t,{className:`ic`,style:{color:n}}),` `,e]}),o,r&&(0,E.jsx)(`p`,{className:`lr-xs-cap`,children:r}),i&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(i)})]})}var vo=16,yo=78,bo=10,xo=49,So=4,Co={C:0,D:2,E:4,F:5,G:7,A:9,B:11},wo=new Set([0,1,3,4,5]),To={root:`var(--presence)`,1:`var(--presence)`,third:`var(--insight)`,"3rd":`var(--insight)`,3:`var(--insight)`,fifth:`var(--warning)`,"5th":`var(--warning)`,5:`var(--warning)`,seventh:`var(--danger)`,"7th":`var(--danger)`,7:`var(--danger)`},Eo=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],Do=[`C`,`C`,`D`,`D`,`E`,`F`,`F`,`G`,`G`,`A`,`A`,`B`],Oo=6;function ko(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Ao(e){let t=/^([A-Ga-g])([#b]?)(-?\d+)$/.exec(e.trim());if(!t)return null;let n=Co[t[1].toUpperCase()];if(n===void 0)return null;let r=t[2]===`#`?1:t[2]===`b`?-1:0;return parseInt(t[3],10)*12+n+r}function jo(e){if(e.role){let t=e.role.trim().toLowerCase();if(To[t])return To[t]}return e.finger&&e.finger>=1?Eo[(e.finger-1)%Eo.length]:`var(--presence)`}function Mo({title:e,icon:t=`play`,iconColor:n=`var(--presence)`,octaves:r=2,startNote:i=`C3`,highlight:a,chordName:o,showLabels:c=!0,caption:u,footer:d,delay:f}){let p=s[t]||s.play,{whites:m,blacks:h,svgW:g,svgH:_,marks:v}=(0,P.useMemo)(()=>{let e=Math.min(4,Math.max(1,Math.round(r||2))),t=Ao(i)??Ao(`C3`),n=Math.floor(t/12)*12,o=e*7,s=[];for(let e=0;e<o;e++){let t=Math.floor(e/7),r=[`C`,`D`,`E`,`F`,`G`,`A`,`B`][e%7];s.push({x:So+e*vo,semitone:n+t*12+Co[r],letter:r})}let c=[];for(let e=0;e<o;e++){let t=e%7;if(!wo.has(t))continue;let r=Math.floor(e/7),i=[`C`,`D`,`E`,`F`,`G`,`A`,`B`][t];c.push({x:So+(e+1)*vo-bo/2,semitone:n+r*12+Co[i]+1})}let l=So*2+o*vo,u=new Map;for(let e of a??[]){let t=Ao(e.note);if(t===null)continue;let n=[1,3,6,8,10].includes((t%12+12)%12);u.set(t,{color:jo(e),label:Do[(t%12+12)%12]+(n?`♯`:``),role:e.role,finger:e.finger,black:n})}return{whites:s,blacks:c,svgW:l,svgH:86,marks:u}},[r,i,a]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`pk-layout`,children:[o&&(0,E.jsx)(`div`,{className:`pk-side`,children:(0,E.jsx)(`div`,{className:`pk-chord-name`,children:o})}),(0,E.jsx)(`div`,{className:`pk-board`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`pk-svg`,role:`img`,"aria-label":o?`${o} on a piano keyboard`:e,children:[m.map(e=>{let t=v.get(e.semitone);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`rect`,{x:e.x,y:So,width:vo-1,height:yo,rx:2.5,className:`pk-white`,fill:t?`color-mix(in oklab, ${t.color} 26%, var(--surface-elevated))`:void 0,stroke:t?t.color:void 0}),c&&t&&(0,E.jsxs)(`text`,{x:e.x+(vo-1)/2,y:74,className:`pk-key-lbl`,textAnchor:`middle`,fill:t.color,children:[(t.role??t.label??``).length>Oo&&(0,E.jsx)(`title`,{children:t.role??t.label}),ko(t.role??t.label??``,Oo)]})]},`w${e.semitone}`)}),h.map(e=>{let t=v.get(e.semitone);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`rect`,{x:e.x,y:So,width:bo,height:xo,rx:1.6,className:`pk-black`,fill:t?t.color:void 0}),c&&t&&(0,E.jsxs)(`text`,{x:e.x+bo/2,y:47,className:`pk-key-lbl pk-key-lbl--black`,textAnchor:`middle`,children:[(t.role??t.label??``).length>Oo&&(0,E.jsx)(`title`,{children:t.role??t.label}),ko(t.role??t.label??``,Oo)]})]},`b${e.semitone}`)})]})})]}),u&&(0,E.jsx)(`p`,{className:`pk-caption`,children:u}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(d)})]})}var No=30,Po=16,Fo=30,Io=14,Lo=16,Ro=18,zo=[3,5,7,9,15,17,19,21],Bo=[12,24],Vo={root:`var(--presence)`,third:`var(--insight)`,fifth:`var(--warning)`,other:`var(--text-secondary)`};function Ho(e){return e.length<=2?6.5:e.length===3?5:4}function Uo({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,strings:r=6,frets:i=12,tuning:a,dots:o,scaleName:c,caption:u,footer:d,delay:f}){let p=s[t]||s.sparkle,{strCount:m,fretCount:h,svgW:g,svgH:_,fretXs:v,stringYs:y}=(0,P.useMemo)(()=>{let e=Math.min(7,Math.max(4,Math.round(r||6))),t=Math.min(24,Math.max(4,Math.round(i||12))),n=Array.from({length:t+1},(e,t)=>No+t*Fo),a=Array.from({length:e},(e,t)=>Po+t*Io);return{strCount:e,fretCount:t,svgW:No+t*Fo+Lo,svgH:Po+(e-1)*Io+Ro,fretXs:n,stringYs:a}},[r,i]),b=e=>y[m-Math.min(m,Math.max(1,Math.round(e)))],x=e=>e<=0?No-9:v[Math.min(h,e)-1]+Fo/2;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e,c&&(0,E.jsx)(`span`,{className:`fbm-scale-tag`,children:c})]}),(0,E.jsx)(`div`,{className:`fbm-board`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`fbm-svg`,role:`img`,"aria-label":c?`${c} on a fretboard`:e,children:[Array.from({length:h},(e,t)=>t+1).filter(e=>zo.includes(e)||Bo.includes(e)).map(e=>{let t=v[e-1]+Fo/2,n=Po+(m-1)*Io/2;return Bo.includes(e)?(0,E.jsxs)(`g`,{className:`fbm-inlay`,children:[(0,E.jsx)(`circle`,{cx:t,cy:n-Io,r:2.4}),(0,E.jsx)(`circle`,{cx:t,cy:n+Io,r:2.4})]},`in${e}`):(0,E.jsx)(`circle`,{cx:t,cy:n,r:2.4,className:`fbm-inlay`},`in${e}`)}),(0,E.jsx)(`line`,{x1:No,y1:Po-1,x2:No,y2:Po+(m-1)*Io+1,className:`fbm-nut`}),v.slice(1).map((e,t)=>(0,E.jsx)(`line`,{x1:e,y1:Po,x2:e,y2:Po+(m-1)*Io,className:`fbm-fret`},`fw${t}`)),y.map((e,t)=>(0,E.jsx)(`line`,{x1:No,y1:e,x2:No+h*Fo,y2:e,className:`fbm-string`,strokeWidth:1+t/Math.max(1,m-1)*.9},`st${t}`)),a&&y.map((e,t)=>{let n=a[m-(m-t)];return n?(0,E.jsx)(`text`,{x:No-14,y:e+3,className:`fbm-tuning`,textAnchor:`middle`,children:n},`tn${t}`):null}),Array.from({length:h},(e,t)=>t+1).map(e=>(0,E.jsx)(`text`,{x:v[e-1]+Fo/2,y:Po+(m-1)*Io+14,className:`fbm-fret-num`,textAnchor:`middle`,children:e},`fn${e}`)),o?.map((e,t)=>{let n=e.role??`other`,r=Vo[n]??Vo.other,i=n===`root`,a=x(e.fret),o=b(e.string),s=e.fret<=0;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:a,cy:o,r:s?5:6,fill:s?`var(--surface-default)`:r,stroke:r,className:i?`fbm-dot fbm-dot--root`:`fbm-dot`}),e.label&&(0,E.jsx)(`text`,{x:a,y:o+2.6,className:`fbm-dot-lbl`,textAnchor:`middle`,fill:s?r:`var(--surface-default)`,style:{fontSize:Ho(e.label)},children:e.label})]},`dot${t}`)})]})}),u&&(0,E.jsx)(`p`,{className:`fbm-caption`,children:u}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(d)})]})}var Wo=244,q=Wo/2,Go=96,Ko=60,qo=[{major:`C`,minor:`Am`,sig:0},{major:`G`,minor:`Em`,sig:1},{major:`D`,minor:`Bm`,sig:2},{major:`A`,minor:`F♯m`,sig:3},{major:`E`,minor:`C♯m`,sig:4},{major:`B`,minor:`G♯m`,sig:5},{major:`G♭`,minor:`E♭m`,sig:-6},{major:`D♭`,minor:`B♭m`,sig:-5},{major:`A♭`,minor:`Fm`,sig:-4},{major:`E♭`,minor:`Cm`,sig:-3},{major:`B♭`,minor:`Gm`,sig:-2},{major:`F`,minor:`Dm`,sig:-1}];function Jo(e){return e.trim().replace(/^([A-Ga-g])b/,`$1♭`).replace(/#/g,`♯`).replace(/^([A-G])/i,e=>e.toUpperCase())}function Yo(e){if(!e)return-1;let t=Jo(e);return qo.findIndex(e=>e.major===t||e.minor===t||e.minor===t+`m`)}var Xo=e=>e===0?`♮`:e>0?`${e}♯`:`${Math.abs(e)}♭`,Zo=e=>(-90+e*30)*(Math.PI/180),Qo=(e,t)=>q+e*Math.cos(t),$o=(e,t)=>q+e*Math.sin(t);function es({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,highlightKey:r,showMinors:i=!0,related:a,caption:o,footer:c,delay:u}){let d=s[t]||s.sparkle,{hiIdx:f,relatedIdx:p}=(0,P.useMemo)(()=>{let e=Yo(r),t=new Set;for(let n of a??[]){let r=Yo(n);r>=0&&r!==e&&t.add(r)}return{hiIdx:e,relatedIdx:t}},[r,a]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`cof-board`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Wo} ${Wo}`,className:`cof-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`circle`,{cx:q,cy:q,r:112,className:`cof-ring`}),(0,E.jsx)(`circle`,{cx:q,cy:q,r:74,className:`cof-ring`}),(0,E.jsx)(`circle`,{cx:q,cy:q,r:Ko-14,className:`cof-ring cof-ring--hub`}),f>=0&&[...p].map(e=>(0,E.jsx)(`line`,{x1:Qo(Go,Zo(f)),y1:$o(Go,Zo(f)),x2:Qo(Go,Zo(e)),y2:$o(Go,Zo(e)),className:`cof-spoke`},`spoke${e}`)),qo.map((e,t)=>{let n=Zo(t)+Math.PI/12;return(0,E.jsx)(`line`,{x1:Qo(Ko-14,n),y1:$o(Ko-14,n),x2:Qo(112,n),y2:$o(112,n),className:`cof-divider`},`div${t}`)}),qo.map((e,t)=>{let n=Zo(t),r=t===f,a=p.has(t),o=r?`cof-key--hi`:a?`cof-key--rel`:``;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:Qo(Go,n),cy:$o(Go,n),r:15,className:`cof-key ${o}`}),(0,E.jsx)(`text`,{x:Qo(Go,n),y:$o(Go,n)+4,className:`cof-key-lbl ${r?`cof-key-lbl--hi`:``}`,textAnchor:`middle`,children:e.major}),(0,E.jsx)(`text`,{x:Qo(114,n),y:$o(114,n)+3,className:`cof-sig`,textAnchor:`middle`,children:Xo(e.sig)}),i&&(0,E.jsx)(`text`,{x:Qo(Ko,n),y:$o(Ko,n)+3.5,className:`cof-minor ${r?`cof-minor--hi`:``}`,textAnchor:`middle`,children:e.minor})]},e.major)}),(0,E.jsx)(`text`,{x:q,y:q-2,className:`cof-hub-lbl`,textAnchor:`middle`,children:`♯ →`}),(0,E.jsx)(`text`,{x:q,y:131,className:`cof-hub-lbl`,textAnchor:`middle`,children:`← ♭`})]})}),o&&(0,E.jsx)(`p`,{className:`cof-caption`,children:o}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(c)})]})}var ts=320,ns=188,rs=16,J=ts/17.2,is=26,as=30,os=134,ss={healthy:{color:`var(--text-muted)`,label:`Healthy`},caries:{color:`var(--danger)`,label:`Caries`},filling:{color:`var(--insight)`,label:`Filling`},crown:{color:`var(--warning)`,label:`Crown`},missing:{color:`var(--text-faint)`,label:`Missing`},implant:{color:`var(--presence)`,label:`Implant`},rootcanal:{color:`var(--presence-soft)`,label:`Root canal`}},cs=[`healthy`,`caries`,`filling`,`crown`,`rootcanal`,`implant`,`missing`],ls=e=>1+e,us=e=>32-e;function ds(e){return e<8?`1${8-e}`:`2${e-7}`}function fs(e){return e<8?`4${8-e}`:`3${e-7}`}function ps({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,system:r=`universal`,teeth:i,caption:a,footer:o,delay:c}){let u=s[t]||s.doc,{byNumber:d,usedStatuses:f,focusNotes:p}=(0,P.useMemo)(()=>{let e=new Map,t=new Set,n=[];for(let r of i??[]){let i=String(r.n).trim(),a=ss[r.status]?r.status:`healthy`;e.set(i,{status:a,surface:r.surface,note:r.note}),t.add(a),(r.note||r.surface)&&n.push({n:i,status:a,surface:r.surface,note:r.note})}return{byNumber:e,usedStatuses:t,focusNotes:n}},[i]),m=e=>{let t=e===`upper`?as:os,n=t=>r===`fdi`?e===`upper`?ds(t):fs(t):String(e===`upper`?ls(t):us(t));return Array.from({length:rs},(r,i)=>{let a=n(i),o=J*.6+i*J,s=d.get(a)?.status??`healthy`,c=ss[s],l=s===`missing`,u=e===`upper`?t-6:t+is+11;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`rect`,{x:o,y:t,width:J-4,height:is,rx:5,className:l?`odo-tooth odo-tooth--missing`:`odo-tooth`,fill:l?`none`:`color-mix(in oklab, ${c.color} 24%, var(--surface-elevated))`,stroke:c.color}),s===`crown`&&(0,E.jsx)(`rect`,{x:o,y:t,width:J-4,height:6,rx:3,fill:c.color}),s===`filling`&&(0,E.jsx)(`circle`,{cx:o+(J-4)/2,cy:t+is/2,r:3.4,fill:c.color}),s===`caries`&&(0,E.jsx)(`circle`,{cx:o+(J-4)/2,cy:t+is/2,r:3,className:`odo-caries`}),s===`implant`&&[.32,.5,.68].map((e,n)=>(0,E.jsx)(`line`,{x1:o+(J-4)*e,y1:t+4,x2:o+(J-4)*e,y2:t+is-4,stroke:c.color,className:`odo-implant`},n)),s===`rootcanal`&&(0,E.jsx)(`line`,{x1:o+(J-4)/2,y1:t+3,x2:o+(J-4)/2,y2:t+is-3,stroke:c.color,className:`odo-rootcanal`}),l&&(0,E.jsx)(`line`,{x1:o+3,y1:t+3,x2:o+J-7,y2:t+is-3,stroke:c.color,className:`odo-slash`}),(0,E.jsx)(`text`,{x:o+(J-4)/2,y:u,className:`odo-num`,textAnchor:`middle`,children:a})]},`${e}${i}`)})};return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,(0,E.jsx)(`span`,{className:`odo-system-tag`,children:r===`fdi`?`FDI`:`Universal`})]}),(0,E.jsx)(`div`,{className:`odo-board`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${ts} ${ns}`,className:`odo-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`text`,{x:6,y:46,className:`odo-arch-lbl`,children:`U`}),(0,E.jsx)(`text`,{x:6,y:150,className:`odo-arch-lbl`,children:`L`}),(0,E.jsx)(`line`,{x1:ts/2,y1:as-4,x2:ts/2,y2:164,className:`odo-midline`}),m(`upper`),m(`lower`)]})}),(0,E.jsx)(`ul`,{className:`odo-legend`,children:cs.filter(e=>f.has(e)).map(e=>(0,E.jsxs)(`li`,{className:`odo-legend-item`,children:[(0,E.jsx)(`i`,{className:`odo-legend-dot`,style:{background:ss[e].color}}),ss[e].label]},e))}),p.length>0&&(0,E.jsx)(`ul`,{className:`odo-notes`,children:p.map((e,t)=>(0,E.jsxs)(`li`,{className:`odo-note`,children:[(0,E.jsxs)(`strong`,{style:{color:ss[e.status].color},children:[`#`,e.n,` · `,ss[e.status].label]}),e.surface?` (${e.surface})`:``,e.note?` — ${e.note}`:``]},t))}),a&&(0,E.jsx)(`p`,{className:`odo-caption`,children:a}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(o)})]})}var ms=240,hs=ms/2,gs=ms/2,_s=100;function vs(e){let t=/^\s*(\d{1,2})\s*:\s*(\d{1,2})/.exec(e??``);return t?{h:Math.min(23,Math.max(0,parseInt(t[1],10))),m:Math.min(59,Math.max(0,parseInt(t[2],10)))}:{h:12,m:0}}function ys(e,t){let n=e<12?`AM`:`PM`;return`${e%12==0?12:e%12}:${String(t).padStart(2,`0`)} ${n}`}function bs(e,t){let n=(e-90)*Math.PI/180;return{x:hs+Math.cos(n)*t,y:gs+Math.sin(n)*t}}function xs(e,t){let n=e.h*60+e.m;return((t.h*60+t.m-n)%1440+1440)%1440}function Ss(e){let t=Math.floor(e/60),n=e%60;return t===0?`${n} min`:n===0?`${t} h`:`${t} h ${n} min`}function Cs({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,time:r,showSecond:i=!1,second:a=0,digital:o=!1,elapsedTo:c,caption:u,footer:d,delay:f}){let p=s[t]||s.clock,m=(0,P.useMemo)(()=>{let{h:e,m:t}=vs(r),n=Math.min(59,Math.max(0,Math.round(a))),o=(e%12+t/60)*30,s=(t+(i?n/60:0))*6,l=n*6,u=null;if(c){let n=vs(c),r=xs({h:e,m:t},n),i=t*6,a=r%60*6,o=_s-16,s=bs(i,o),l=bs(i+a,o),d=+(a>180);u={path:`M ${hs} ${gs} L ${s.x.toFixed(1)} ${s.y.toFixed(1)} A ${o} ${o} 0 ${d} 1 ${l.x.toFixed(1)} ${l.y.toFixed(1)} Z`,mins:r}}return{h:e,m:t,sec:n,hour:bs(o,_s*.52),minute:bs(s,_s*.78),secondTip:bs(l,_s*.84),arc:u}},[r,a,i,c]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-cf-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${ms} ${ms}`,className:`lr-cf-svg`,role:`img`,"aria-label":e||`clock`,children:[m.arc&&(0,E.jsx)(`path`,{d:m.arc.path,className:`lr-cf-elapsed`}),(0,E.jsx)(`circle`,{cx:hs,cy:gs,r:_s,className:`lr-cf-dial`}),Array.from({length:60},(e,t)=>{let n=t%5==0,r=bs(t*6,n?_s-12:_s-6),i=bs(t*6,_s-2);return(0,E.jsx)(`line`,{x1:r.x,y1:r.y,x2:i.x,y2:i.y,className:n?`lr-cf-mark lr-cf-mark--hour`:`lr-cf-mark`},`tk${t}`)}),Array.from({length:12},(e,t)=>{let n=t+1,r=bs(n*30,_s-26);return(0,E.jsx)(`text`,{x:r.x,y:r.y+6,className:`lr-cf-numeral`,textAnchor:`middle`,children:n},`n${n}`)}),(0,E.jsx)(`line`,{x1:hs,y1:gs,x2:m.hour.x,y2:m.hour.y,className:`lr-cf-hand lr-cf-hand--hour`}),(0,E.jsx)(`line`,{x1:hs,y1:gs,x2:m.minute.x,y2:m.minute.y,className:`lr-cf-hand lr-cf-hand--minute`}),i&&(0,E.jsx)(`line`,{x1:hs,y1:gs,x2:m.secondTip.x,y2:m.secondTip.y,className:`lr-cf-hand lr-cf-hand--second`}),(0,E.jsx)(`circle`,{cx:hs,cy:gs,r:5,className:`lr-cf-pin`})]})}),o&&(0,E.jsxs)(`div`,{className:`lr-cf-digital`,"aria-label":`digital time`,children:[ys(m.h,m.m),i&&(0,E.jsxs)(`span`,{className:`lr-cf-digital-sec`,children:[`:`,String(m.sec).padStart(2,`0`)]})]}),m.arc&&c&&(0,E.jsxs)(`div`,{className:`lr-cf-elapsed-read`,children:[ys(m.h,m.m),` `,(0,E.jsx)(`span`,{className:`lr-cf-elapsed-arrow`,children:`→`}),` `,(()=>{let e=vs(c);return ys(e.h,e.m)})(),` `,`is `,(0,E.jsx)(`b`,{children:Ss(m.arc.mins)})]}),u&&(0,E.jsx)(`p`,{className:`lr-cf-cap`,children:u}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(d)})]})}var ws=1,Ts=6;function Es(e,t){let n=Number.isInteger(e);return t+e.toFixed(n&&Math.abs(e)>=1?0:2)}function Ds(e,t){return e<ws?`${Math.round(e*100)}¢`:Es(e,t)}function Os(e,t){let n=[],r=Math.round(e*100);for(let e of[...t].sort((e,t)=>t-e)){let t=Math.round(e*100);if(t<=0)continue;let i=Math.floor(r/t);i>0&&(n.push({denom:e,count:i}),r-=i*t)}return n}function ks({token:e,currency:t}){let n=e.denom>=ws,r=Math.min(Ts,Math.max(1,e.count)),i=e.label??Ds(e.denom,t);return(0,E.jsxs)(`div`,{className:`lr-mt-stack`,children:[(0,E.jsx)(`div`,{className:`lr-mt-glyphs${n?` lr-mt-glyphs--bill`:``}`,"aria-hidden":`true`,children:Array.from({length:r},(e,t)=>n?(0,E.jsx)(`span`,{className:`lr-mt-bill`,style:{"--i":t},children:i},t):(0,E.jsx)(`span`,{className:`lr-mt-coin`,style:{"--i":t},children:i},t))}),(0,E.jsxs)(`div`,{className:`lr-mt-count`,children:[(0,E.jsx)(`b`,{children:e.count}),` × `,i]})]})}function As({title:e,icon:t=`cart`,iconColor:n=`var(--presence)`,currency:r=`$`,tokens:i,target:a,mode:o=`count`,caption:c,footer:u,delay:d}){let f=s[t]||s.cart,{total:p,change:m}=(0,P.useMemo)(()=>{let e=i.reduce((e,t)=>e+t.denom*Math.max(0,t.count),0),t=null;if(o===`change`&&a!==void 0){let n=Math.round((a-e)*100)/100;t={gap:n,tokens:n>0?Os(n,[100,50,20,10,5,1,.25,.1,.05,.01]):[]}}return{total:e,change:t}},[i,a,o]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-mt-tray`,children:i.map((e,t)=>(0,E.jsx)(ks,{token:e,currency:r},t))}),(0,E.jsxs)(`div`,{className:`lr-mt-total`,children:[(0,E.jsx)(`span`,{className:`lr-mt-total-k`,children:`Total`}),(0,E.jsx)(`span`,{className:`lr-mt-total-v`,children:Es(p,r)})]}),m&&(0,E.jsx)(`div`,{className:`lr-mt-change`,children:m.gap>0?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)(`div`,{className:`lr-mt-change-line`,children:[`Need `,(0,E.jsx)(`b`,{children:Es(m.gap,r)}),` more to reach`,` `,Es(a??0,r)]}),m.tokens.length>0&&(0,E.jsx)(`ul`,{className:`lr-mt-change-list`,children:m.tokens.map((e,t)=>(0,E.jsxs)(`li`,{className:`lr-mt-change-item`,children:[(0,E.jsx)(`b`,{children:e.count}),` × `,Ds(e.denom,r)]},t))})]}):m.gap<0?(0,E.jsxs)(`div`,{className:`lr-mt-change-line lr-mt-change-line--over`,children:[(0,E.jsx)(`b`,{children:Es(-m.gap,r)}),` over `,Es(a??0,r)]}):(0,E.jsxs)(`div`,{className:`lr-mt-change-line lr-mt-change-line--exact`,children:[`Exactly `,Es(a??0,r),` — no change needed`]})}),c&&(0,E.jsx)(`p`,{className:`lr-mt-cap`,children:c}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}var js=[{key:`thousands`,label:`Thousands`,power:1e3},{key:`hundreds`,label:`Hundreds`,power:100},{key:`tens`,label:`Tens`,power:10},{key:`ones`,label:`Ones`,power:1}];function Ms(e,t){return e===1e3?(0,E.jsxs)(`span`,{className:`lr-pv-block lr-pv-block--cube`,"aria-hidden":`true`,children:[(0,E.jsx)(`span`,{className:`lr-pv-cube-face`}),(0,E.jsx)(`span`,{className:`lr-pv-cube-top`}),(0,E.jsx)(`span`,{className:`lr-pv-cube-side`})]},t):e===100?(0,E.jsx)(`span`,{className:`lr-pv-block lr-pv-block--flat`,"aria-hidden":`true`},t):e===10?(0,E.jsx)(`span`,{className:`lr-pv-block lr-pv-block--rod`,"aria-hidden":`true`},t):(0,E.jsx)(`span`,{className:`lr-pv-block lr-pv-block--unit`,"aria-hidden":`true`},t)}function Ns({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,value:r,columns:i,showBlocks:a=!0,expanded:o=!0,caption:c,footer:u,delay:d}){let f=s[t]||s.layers,{cols:p,parts:m}=(0,P.useMemo)(()=>{let e=Math.max(0,Math.floor(Math.abs(r))),t=i&&i.length?i:js.filter(t=>e>=t.power||t.power===1).map(e=>e.key),n=js.filter(e=>t.includes(e.key)).map(t=>({...t,digit:Math.floor(e/t.power)%10})),a=n.filter(e=>e.digit!==0).map(e=>e.digit*e.power);return{cols:n,parts:a.length?a:[0]}},[r,i]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-pv-grid`,style:{"--cols":p.length},children:p.map(e=>(0,E.jsxs)(`div`,{className:`lr-pv-col`,children:[(0,E.jsx)(`div`,{className:`lr-pv-place`,children:e.label}),(0,E.jsx)(`div`,{className:`lr-pv-digit`,children:e.digit}),a&&(0,E.jsx)(`div`,{className:`lr-pv-blocks`,"aria-label":`${e.digit} ${e.label.toLowerCase()}`,children:Array.from({length:e.digit},(t,n)=>Ms(e.power,`${e.key}-${n}`))})]},e.key))}),o&&(0,E.jsxs)(`div`,{className:`lr-pv-expanded`,children:[m.map((e,t)=>(0,E.jsxs)(`span`,{className:`lr-pv-part`,children:[t>0&&(0,E.jsx)(`span`,{className:`lr-pv-plus`,children:`+`}),(0,E.jsx)(`span`,{className:`lr-pv-part-v`,children:e.toLocaleString()})]},t)),(0,E.jsx)(`span`,{className:`lr-pv-eq`,children:`=`}),(0,E.jsx)(`span`,{className:`lr-pv-part-v lr-pv-part-v--total`,children:Math.max(0,Math.floor(Math.abs(r))).toLocaleString()})]}),c&&(0,E.jsx)(`p`,{className:`lr-pv-cap`,children:c}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}var Ps=100,Y=Ps/2,Fs=38;function Is(e){let t=-Math.PI/2;return Array.from({length:e},(n,r)=>{let i=t+r*2*Math.PI/e;return`${(Y+Math.cos(i)*Fs).toFixed(1)},${(Y+Math.sin(i)*Fs).toFixed(1)}`}).join(` `)}var Ls={triangle:3,square:4,rectangle:4,pentagon:5,hexagon:6,octagon:8};function Rs(e){let t=(0,F.c)(54),{kind:n,color:r}=e,i=`color-mix(in oklab, ${r} 18%, transparent)`,a;t[0]!==r||t[1]!==i?(a={fill:i,stroke:r,className:`lr-sc-figure`},t[0]=r,t[1]=i,t[2]=a):a=t[2];let o=a;if(n===`circle`){let e;return t[3]===o?e=t[4]:(e=(0,E.jsx)(`circle`,{cx:Y,cy:Y,r:Fs,...o}),t[3]=o,t[4]=e),e}if(n===`rectangle`){let e;return t[5]===o?e=t[6]:(e=(0,E.jsx)(`rect`,{x:Y-42,y:Y-26,width:84,height:52,rx:2,...o}),t[5]=o,t[6]=e),e}if(n===`square`){let e;return t[7]===o?e=t[8]:(e=(0,E.jsx)(`rect`,{x:Y-34,y:Y-34,width:68,height:68,rx:2,...o}),t[7]=o,t[8]=e),e}if(n===`sphere`){let e;t[9]===o?e=t[10]:(e=(0,E.jsx)(`circle`,{cx:Y,cy:Y,r:Fs,...o}),t[9]=o,t[10]=e);let n;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,E.jsx)(`ellipse`,{cx:Y,cy:Y,rx:Fs,ry:Fs*.34,className:`lr-sc-edge lr-sc-edge--hidden`}),t[11]=n):n=t[11];let r;return t[12]===e?r=t[13]:(r=(0,E.jsxs)(`g`,{children:[e,n]}),t[12]=e,t[13]=r),r}if(n===`cube`){let e=Y-22-9,n=Bs,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,E.jsx)(`polygon`,{points:`${n(e,81)} ${n(63,81)} ${n(63,37)} ${n(e,37)}`,className:`lr-sc-face lr-sc-face--hidden`}),t[14]=a):a=t[14];let s;t[15]===o?s=t[16]:(s=(0,E.jsx)(`polygon`,{points:`${e},81 63,81 63,37 ${e},37`,...o}),t[15]=o,t[16]=s);let c;t[17]!==r||t[18]!==i?(c={fill:i,stroke:r},t[17]=r,t[18]=i,t[19]=c):c=t[19];let l=c,u;t[20]===l?u=t[21]:(u=(0,E.jsx)(`polygon`,{points:`${e},37 63,37 ${n(63,37)} ${n(e,37)}`,className:`lr-sc-face lr-sc-face--side`,style:l}),t[20]=l,t[21]=u);let d;t[22]!==r||t[23]!==i?(d={fill:i,stroke:r},t[22]=r,t[23]=i,t[24]=d):d=t[24];let f=d,p;t[25]===f?p=t[26]:(p=(0,E.jsx)(`polygon`,{points:`63,81 ${n(63,81)} ${n(63,37)} 63,37`,className:`lr-sc-face lr-sc-face--side`,style:f}),t[25]=f,t[26]=p);let m;return t[27]!==s||t[28]!==u||t[29]!==p?(m=(0,E.jsxs)(`g`,{children:[a,s,u,p]}),t[27]=s,t[28]=u,t[29]=p,t[30]=m):m=t[30],m}if(n===`cylinder`){let e=Y-30,n;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,E.jsx)(`ellipse`,{cx:Y,cy:80,rx:30,ry:10,className:`lr-sc-edge lr-sc-edge--hidden`}),t[31]=n):n=t[31];let r;return t[32]===o?r=t[33]:(r=(0,E.jsxs)(`g`,{children:[n,(0,E.jsx)(`path`,{d:`M ${Y-30} ${e} L ${Y-30} 80 A 30 10 0 0 0 80 80 L 80 ${e}`,...o}),(0,E.jsx)(`ellipse`,{cx:Y,cy:e,rx:30,ry:10,...o})]}),t[32]=o,t[33]=r),r}if(n===`cone`){let e=Y-34,n;return t[34]===o?n=t[35]:(n=(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`path`,{d:`M ${Y-30} 80 L ${Y} ${e} L 80 80`,...o}),(0,E.jsx)(`ellipse`,{cx:Y,cy:80,rx:30,ry:10,...o})]}),t[34]=o,t[35]=n),n}if(n===`pyramid`){let e=Y-22-8,n;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(n={x:Y,y:31},t[36]=n):n=t[36];let a=n,s=zs,c;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(c=s(64,79),t[37]=c):c=t[37];let l=c,u;if(t[38]===Symbol.for(`react.memo_cache_sentinel`)){let n=s(e,79);u=(0,E.jsx)(`polygon`,{points:`${e},79 64,79 ${l.x},${l.y} ${n.x},${n.y}`,className:`lr-sc-face lr-sc-face--hidden`}),t[38]=u}else u=t[38];let d;t[39]===o?d=t[40]:(d=(0,E.jsx)(`polygon`,{points:`${e},79 64,79 ${a.x},${a.y}`,...o}),t[39]=o,t[40]=d);let f;t[41]!==r||t[42]!==i?(f={fill:i,stroke:r},t[41]=r,t[42]=i,t[43]=f):f=t[43];let p=f,m;t[44]===p?m=t[45]:(m=(0,E.jsx)(`polygon`,{points:`64,79 ${l.x},${l.y} ${a.x},${a.y}`,className:`lr-sc-face lr-sc-face--side`,style:p}),t[44]=p,t[45]=m);let h;return t[46]!==d||t[47]!==m?(h=(0,E.jsxs)(`g`,{children:[u,d,m]}),t[46]=d,t[47]=m,t[48]=h):h=t[48],h}let s=Ls[n]??6,c;t[49]===s?c=t[50]:(c=Is(s),t[49]=s,t[50]=c);let l;return t[51]!==o||t[52]!==c?(l=(0,E.jsx)(`polygon`,{points:c,...o}),t[51]=o,t[52]=c,t[53]=l):l=t[53],l}function zs(e,t){return{x:e+16,y:t+-14}}function Bs(e,t){return`${(e+18).toFixed(1)},${(t+-18).toFixed(1)}`}var Vs=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function Hs(e){let t=[];return e.sides!==void 0&&t.push({k:`Sides`,v:e.sides}),e.vertices!==void 0&&t.push({k:`Vertices`,v:e.vertices}),e.faces!==void 0&&t.push({k:`Faces`,v:e.faces}),e.edges!==void 0&&t.push({k:`Edges`,v:e.edges}),t}function Us({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,shapes:r,caption:i,footer:a,delay:o}){let c=s[t]||s.sparkle;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`ul`,{className:`lr-sc-grid`,children:r.map((e,t)=>{let n=Vs[t%Vs.length];return(0,E.jsxs)(`li`,{className:`lr-sc-cell`,children:[(0,E.jsx)(`svg`,{viewBox:`0 0 ${Ps} ${Ps}`,className:`lr-sc-svg`,role:`img`,"aria-label":e.name,children:(0,E.jsx)(Rs,{kind:e.kind,color:n})}),(0,E.jsx)(`div`,{className:`lr-sc-name`,style:{color:n},children:e.name}),Hs(e).length>0&&(0,E.jsx)(`div`,{className:`lr-sc-attrs`,children:Hs(e).map(e=>(0,E.jsxs)(`span`,{className:`lr-sc-attr`,children:[(0,E.jsx)(`i`,{className:`lr-sc-attr-k`,children:e.k}),(0,E.jsx)(`b`,{className:`lr-sc-attr-v`,children:e.v})]},e.k))}),e.example&&(0,E.jsx)(`div`,{className:`lr-sc-example`,children:e.example})]},t)})}),i&&(0,E.jsx)(`p`,{className:`lr-sc-cap`,children:i}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(a)})]})}var Ws=200,Gs=180,Ks=30,qs=70,Js=130,Ys=165,Xs=Ws-60,Zs=9,Qs=3;function $s(e){if(e<=1)return Zs;let t=Xs/(e-1),n=Math.max(1,t/2-.5);return Math.min(Math.min(Zs,Math.max(Qs,n)),n)}function ec({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,letter:r,case:i=`lower`,strokes:a,showGuides:o=!0,caption:c,footer:u,delay:d}){let f=s[t]||s.edit,p=(r??``).slice(0,1),m=i===`upper`?p.toUpperCase():p.toLowerCase(),h=[...a].sort((e,t)=>e.order-t.order);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-lf-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Ws} ${Gs}`,className:`lr-lf-svg`,role:`img`,"aria-label":m,children:[o&&(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:8,y1:Ks,x2:Ws-8,y2:Ks,className:`lr-lf-guide`}),(0,E.jsx)(`line`,{x1:8,y1:qs,x2:Ws-8,y2:qs,className:`lr-lf-guide lr-lf-guide--mid`}),(0,E.jsx)(`line`,{x1:8,y1:Js,x2:Ws-8,y2:Js,className:`lr-lf-guide lr-lf-guide--base`}),(0,E.jsx)(`line`,{x1:8,y1:Ys,x2:Ws-8,y2:Ys,className:`lr-lf-guide lr-lf-guide--desc`})]}),(0,E.jsx)(`text`,{x:Ws/2,y:Js,className:`lr-lf-ghost`,textAnchor:`middle`,children:m}),(0,E.jsx)(`text`,{x:Ws/2,y:Js,className:`lr-lf-glyph`,textAnchor:`middle`,children:m}),(()=>{let e=$s(h.length),t=e/Zs*11;return h.map((n,r)=>{let i=30+r*Xs/Math.max(1,h.length-1||1);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:i,cy:18,r:e,className:`lr-lf-index`}),(0,E.jsx)(`text`,{x:i,y:18,dy:`0.35em`,className:`lr-lf-index-n`,textAnchor:`middle`,style:{fontSize:t},children:n.order})]},n.order)})})()]})}),(0,E.jsx)(`ol`,{className:`lr-lf-strokes`,children:h.map(e=>(0,E.jsxs)(`li`,{className:`lr-lf-stroke`,children:[(0,E.jsx)(`span`,{className:`lr-lf-stroke-n`,children:e.order}),(0,E.jsx)(`span`,{className:`lr-lf-stroke-hint`,children:e.hint})]},e.order))}),c&&(0,E.jsx)(`p`,{className:`lr-lf-cap`,children:c}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(u)})]})}var tc=280;function nc(e,t){return t===0?e:nc(t,e%t)}function rc(e,t,n){let r=t?` ${t}`:``;if(!n)return`${parseFloat(e.toFixed(2))}${r}`;let i=Math.floor(e),a=e-i,o=Math.round(a*8),s=8;if(o===0)return`${i}${r}`;if(o===8)return`${i+1}${r}`;let c=nc(o,s);return o/=c,s/=c,i>0?`${i} ${o}/${s}${r}`:`${o}/${s}${r}`}function ic(e){let t=(0,F.c)(19),{value:n,max:r,fractional:i}=e,a=tc-28,o;t[0]===r?o=t[1]:(o=e=>14+Math.min(r,Math.max(0,e))/r*a,t[0]=r,t[1]=o);let s=o,c=i?r*8:r*10,l;if(t[2]!==i||t[3]!==r||t[4]!==c||t[5]!==s){l=[];for(let e=0;e<=c;e++){let t=e/c*r,n=i?e%8==0:e%10==0,a=i?e%4==0:e%5==0,o=n?22:a?14:8;l.push((0,E.jsx)(`line`,{x1:s(t),y1:20,x2:s(t),y2:20+o,className:n?`lr-ts-tick lr-ts-tick--unit`:`lr-ts-tick`},e)),n&&l.push((0,E.jsx)(`text`,{x:s(t),y:56,className:`lr-ts-ticklbl`,textAnchor:`middle`,children:Math.round(t)},`l${e}`))}t[2]=i,t[3]=r,t[4]=c,t[5]=s,t[6]=l}else l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,E.jsx)(`rect`,{x:14,y:20,width:a,height:40,rx:3,className:`lr-ts-body`}),t[7]=u):u=t[7];let d=s(n),f=s(n),p;t[8]!==d||t[9]!==f?(p=(0,E.jsx)(`line`,{x1:d,y1:12,x2:f,y2:60,className:`lr-ts-ind-line`}),t[8]=d,t[9]=f,t[10]=p):p=t[10];let m=`${s(n)},12 ${s(n)-5},4 ${s(n)+5},4`,h;t[11]===m?h=t[12]:(h=(0,E.jsx)(`polygon`,{points:m,className:`lr-ts-ind-head`}),t[11]=m,t[12]=h);let g;t[13]!==p||t[14]!==h?(g=(0,E.jsxs)(`g`,{className:`lr-ts-ind`,children:[p,h]}),t[13]=p,t[14]=h,t[15]=g):g=t[15];let _;return t[16]!==g||t[17]!==l?(_=(0,E.jsxs)(`svg`,{viewBox:`0 0 ${tc} 92`,className:`lr-ts-svg`,role:`img`,"aria-label":`ruler`,children:[u,l,g]}),t[16]=g,t[17]=l,t[18]=_):_=t[18],_}function ac(e){let t=(0,F.c)(37),{value:n,max:r}=e,i=tc/2,a=Math.min(r,Math.max(0,n)),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(e,t)=>({x:i+Math.cos(e*Math.PI/180)*t,y:128-Math.sin(e*Math.PI/180)*t}),t[0]=o):o=t[0];let s=o,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C;if(t[1]!==a){c=s(a,108);let e;if(t[18]===Symbol.for(`react.memo_cache_sentinel`)){e=[];for(let t=0;t<=180;t+=10){let n=s(t,108),r=s(t,108-(t%30==0?14:8));if(e.push((0,E.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,className:`lr-ts-tick`},t)),t%30==0){let n=s(t,82);e.push((0,E.jsx)(`text`,{x:n.x,y:n.y+3,className:`lr-ts-ticklbl`,textAnchor:`middle`,children:t},`l${t}`))}}t[18]=e}else e=t[18];l=`0 0 ${tc} 160`,u=`lr-ts-svg`,d=`img`,f=`protractor`,t[19]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,E.jsx)(`path`,{d:`M ${i-108} 128 A 108 108 0 0 1 248 128 Z`,className:`lr-ts-body lr-ts-arc`}),m=(0,E.jsx)(`line`,{x1:i-108,y1:128,x2:248,y2:128,className:`lr-ts-axis`}),t[19]=p,t[20]=m):(p=t[19],m=t[20]),h=e,g=i,_=128,v=248,y=128,b=108,x=108,S=c.x.toFixed(1),C=c.y.toFixed(1),t[1]=a,t[2]=c,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m,t[9]=h,t[10]=g,t[11]=_,t[12]=v,t[13]=y,t[14]=b,t[15]=x,t[16]=S,t[17]=C}else c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],v=t[12],y=t[13],b=t[14],x=t[15],S=t[16],C=t[17];let w=`M ${g} ${_} L ${v} ${y} A ${b} ${x} 0 0 0 ${S} ${C} Z`,T;t[21]===w?T=t[22]:(T=(0,E.jsx)(`path`,{d:w,className:`lr-ts-sweep`}),t[21]=w,t[22]=T);let D;t[23]!==c.x||t[24]!==c.y?(D=(0,E.jsx)(`line`,{x1:i,y1:128,x2:c.x,y2:c.y,className:`lr-ts-ind-line`}),t[23]=c.x,t[24]=c.y,t[25]=D):D=t[25];let O;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,E.jsx)(`circle`,{cx:i,cy:128,r:4,className:`lr-ts-pin`}),t[26]=O):O=t[26];let k;return t[27]!==l||t[28]!==u||t[29]!==d||t[30]!==f||t[31]!==p||t[32]!==m||t[33]!==h||t[34]!==T||t[35]!==D?(k=(0,E.jsxs)(`svg`,{viewBox:l,className:u,role:d,"aria-label":f,children:[p,m,h,T,D,O]}),t[27]=l,t[28]=u,t[29]=d,t[30]=f,t[31]=p,t[32]=m,t[33]=h,t[34]=T,t[35]=D,t[36]=k):k=t[36],k}function oc(e){let t=(0,F.c)(15),{value:n,max:r}=e,i=tc-28,a;t[0]===r?a=t[1]:(a=e=>14+Math.min(r,Math.max(0,e))/r*i,t[0]=r,t[1]=a);let o=a,s=o(n),c;if(t[2]!==r||t[3]!==o){c=[];let e=r*10;for(let t=0;t<=e;t++){let n=t/e*r,i=t%10==0;c.push((0,E.jsx)(`line`,{x1:o(n),y1:30,x2:o(n),y2:30+(i?12:6),className:i?`lr-ts-tick lr-ts-tick--unit`:`lr-ts-tick`},t))}t[2]=r,t[3]=o,t[4]=c}else c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,E.jsx)(`line`,{x1:14,y1:30,x2:tc-14,y2:30,className:`lr-ts-axis`}),t[5]=l):l=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,E.jsx)(`rect`,{x:10,y:8,width:6,height:22,className:`lr-ts-jaw`}),t[6]=u):u=t[6];let d=s-2,f;t[7]===d?f=t[8]:(f=(0,E.jsx)(`rect`,{x:d,y:8,width:6,height:22,className:`lr-ts-jaw lr-ts-jaw--slide`}),t[7]=d,t[8]=f);let p=Math.max(0,s-14),m;t[9]===p?m=t[10]:(m=(0,E.jsx)(`rect`,{x:14,y:12,width:p,height:14,rx:2,className:`lr-ts-gap`}),t[9]=p,t[10]=m);let h;return t[11]!==f||t[12]!==m||t[13]!==c?(h=(0,E.jsxs)(`svg`,{viewBox:`0 0 ${tc} 96`,className:`lr-ts-svg`,role:`img`,"aria-label":`caliper`,children:[l,c,u,f,m]}),t[11]=f,t[12]=m,t[13]=c,t[14]=h):h=t[14],h}function sc(e){let t=(0,F.c)(11),{value:n,max:r}=e,i=tc/2,a=118-Math.min(1,Math.max(0,n/r))*104,o;if(t[0]!==r){o=[];for(let e=0;e<=5;e++){let t=e/5*r,n=118-e/5*104;o.push((0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:154,y1:n,x2:162,y2:n,className:`lr-ts-tick`}),(0,E.jsx)(`text`,{x:166,y:n+3,className:`lr-ts-ticklbl`,textAnchor:`start`,children:Math.round(t)})]},e))}t[0]=r,t[1]=o}else o=t[1];let s,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,E.jsx)(`rect`,{x:i-7,y:14,width:14,height:118,rx:7,className:`lr-ts-body`}),c=(0,E.jsx)(`circle`,{cx:i,cy:132,r:14,className:`lr-ts-body`}),t[2]=s,t[3]=c):(s=t[2],c=t[3]);let l=118-a,u;t[4]!==a||t[5]!==l?(u=(0,E.jsx)(`rect`,{x:136,y:a,width:8,height:l,className:`lr-ts-mercury`}),t[4]=a,t[5]=l,t[6]=u):u=t[6];let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,E.jsx)(`circle`,{cx:i,cy:132,r:11,className:`lr-ts-mercury`}),t[7]=d):d=t[7];let f;return t[8]!==u||t[9]!==o?(f=(0,E.jsxs)(`svg`,{viewBox:`0 0 ${tc} 150`,className:`lr-ts-svg`,role:`img`,"aria-label":`thermometer`,children:[s,c,u,d,o]}),t[8]=u,t[9]=o,t[10]=f):f=t[10],f}var cc={ruler:({value:e,max:t,fractional:n})=>(0,E.jsx)(ic,{value:e,max:t,fractional:n}),protractor:({value:e,max:t})=>(0,E.jsx)(ac,{value:e,max:t}),caliper:({value:e,max:t})=>(0,E.jsx)(oc,{value:e,max:t}),thermometer:({value:e,max:t})=>(0,E.jsx)(sc,{value:e,max:t})};function lc({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,instrument:r,value:i,max:a,unit:o,fractional:c=!1,reading:u,caption:d,footer:f,delay:p}){let m=s[t]||s.chart,h=a>0?a:Math.max(1,Math.abs(i)||1),g=(0,P.useMemo)(()=>u??rc(i,o,c),[u,i,o,c]),_=cc[r]??cc.ruler;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-ts-wrap`,children:_({value:i,max:h,fractional:c})}),(0,E.jsxs)(`div`,{className:`lr-ts-read`,children:[(0,E.jsx)(`span`,{className:`lr-ts-read-k`,children:`Reading`}),(0,E.jsx)(`span`,{className:`lr-ts-read-v`,children:g})]}),d&&(0,E.jsx)(`p`,{className:`lr-ts-cap`,children:d}),f&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(f)})]})}var uc=40,dc=11;function fc(e){return e<=12?1:e<=24?5:10}function pc(e,t,n){let r=Array.from({length:e},()=>Array(t).fill(void 0));for(let i of n)i.r<0||i.r>=e||i.c<0||i.c>=t||(r[i.r][i.c]=i);return r}function mc({title:e,icon:t=`edit`,iconColor:n=`var(--insight)`,rows:r,cols:i,cells:a,legend:o,craft:c=`crossstitch`,caption:u,footer:d,delay:f}){let p=s[t]??s.edit,m=Math.max(1,Math.min(uc,Math.floor(r)||1)),h=Math.max(1,Math.min(uc,Math.floor(i)||1)),g=pc(m,h,a??[]),_=h*16,v=m*16,y=_+28,b=v+14,x=fc(h),S=fc(m),C=Math.min(_,420)/_*16>=dc,w={"--delay":(f??0)+`ms`},T={maxWidth:y,marginInline:`auto`};return(0,E.jsxs)(`div`,{className:`card reveal`,style:w,children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-cc-wrap`,children:(0,E.jsxs)(`svg`,{className:`lr-cc-svg`,viewBox:`0 0 ${y} ${b}`,style:T,role:`img`,"aria-label":e?`${e} — ${m}×${h} ${c} chart`:`${m}×${h} ${c} chart`,children:[Array.from({length:h},(e,t)=>{let n=t+1;return n!==1&&n%x!==0&&n!==h?null:(0,E.jsx)(`text`,{className:`lr-cc-num`,x:14+t*16+16/2,y:10,textAnchor:`middle`,children:n},`cx-${t}`)}),Array.from({length:m},(e,t)=>{let n=t+1;return n!==1&&n%S!==0&&n!==m?null:(0,E.jsx)(`text`,{className:`lr-cc-num`,x:14+_+3,y:14+t*16+16/2,textAnchor:`start`,dominantBaseline:`middle`,children:n},`ry-${t}`)}),g.map((e,t)=>e.map((e,n)=>{let r=14+n*16,i=14+t*16,a=e!==void 0&&(e.color||e.symbol);return(0,E.jsxs)(`g`,{children:[c===`bead`?(0,E.jsx)(`circle`,{className:a?`lr-cc-cell lr-cc-bead`:`lr-cc-empty lr-cc-bead`,cx:r+16/2,cy:i+16/2,r:16/2-1.4,style:e?.color?{fill:e.color}:void 0}):(0,E.jsx)(`rect`,{className:a?`lr-cc-cell`:`lr-cc-empty`,x:r,y:i,width:16,height:16,style:e?.color?{fill:e.color}:void 0}),C&&e?.symbol&&c!==`bead`&&(0,E.jsx)(`text`,{className:`lr-cc-sym`,x:r+16/2,y:i+16/2,textAnchor:`middle`,dominantBaseline:`central`,children:e.symbol})]},`${t}-${n}`)}))]})}),o&&o.length>0&&(0,E.jsx)(`ul`,{className:`lr-cc-legend`,children:o.map((e,t)=>(0,E.jsxs)(`li`,{className:`lr-cc-leg-row`,children:[(0,E.jsxs)(`span`,{className:`lr-cc-leg-key`,"aria-hidden":!0,children:[e.color&&(0,E.jsx)(`span`,{className:[`lr-cc-leg-sw`,c===`bead`?`lr-cc-leg-sw-round`:``].filter(Boolean).join(` `),style:{background:e.color}}),e.symbol&&(0,E.jsx)(`span`,{className:`lr-cc-leg-sym`,children:e.symbol})]}),(0,E.jsx)(`span`,{className:`lr-cc-leg-mean`,children:e.meaning})]},t))}),u&&(0,E.jsx)(`p`,{className:`lr-cc-cap`,children:u}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(d)})]})}var hc=240,gc=hc/2,_c=52,vc=24,yc=20,bc=24,xc=3,Sc=300,Cc=60,wc=240,Tc=30,Ec=20;function Dc(e){return e===`AT`||e===`TA`}function Oc(e){return e[0]}function kc(e){return e[1]}function Ac(e){let t=[`AT`,`GC`,`TA`,`CG`,`GC`,`AT`,`CG`,`TA`,`GC`,`AT`];return Array.from({length:e},(e,n)=>({pair:t[n%t.length]}))}function jc({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,bases:r,count:i=10,mode:a=`helix`,showLabels:o=!0,caption:c,footer:u,delay:d}){let f=s[t]||s.spark,p=r??Ac(Math.min(i,16)),m=p.length,h=(0,P.useMemo)(()=>{if(a!==`helix`)return null;let e=yc+m*vc+bc,t=m*1.1,n=[],r=[];for(let e=0;e<=m;e++){let i=(m===0?0:e/m)*t*2*Math.PI,a=yc+e*vc;n.push({x:gc+_c*Math.cos(i),y:a,angle:i}),r.push({x:gc-_c*Math.cos(i),y:a,angle:i})}let i=[];for(let e=0;e<m;e++){let n=(e+.5)/m*t*2*Math.PI,r=yc+(e+.5)*vc,a=gc+_c*Math.cos(n),o=gc-_c*Math.cos(n);i.push({x1:a,y:r,x2:o,base:p[e],idx:e})}return{pts1:n,pts2:r,rungs:i,H:e}},[a,m,p]),g=(0,P.useMemo)(()=>a===`ladder`?{H:Ec+m*Tc+24}:null,[a,m]),_=a===`helix`?h?.H??240:g?.H??240,v=e=>e.length===0?``:e.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(` `);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`dh-wrap`,children:[a===`helix`&&h&&(0,E.jsxs)(`svg`,{viewBox:`0 0 ${hc} ${_}`,className:`dh-svg`,role:`img`,"aria-label":e,children:[h.rungs.map(({x1:e,y:t,x2:n,base:r,idx:i})=>{let a=r.highlight,s=a||Dc(r.pair)?`var(--warning)`:`color-mix(in oklab, var(--presence) 60%, var(--insight))`;return Math.cos((i+.5)/m*h.rungs.length*1.1*2*Math.PI)>0?null:(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:e,y1:t,x2:n,y2:t,stroke:s,strokeWidth:a?3:2,opacity:.7,className:`dh-rung`}),o&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`text`,{x:e+6,y:t+4,className:`dh-base-label`,textAnchor:`start`,children:Oc(r.pair)}),(0,E.jsx)(`text`,{x:n-6,y:t+4,className:`dh-base-label`,textAnchor:`end`,children:kc(r.pair)})]})]},`rung-bg-${i}`)}),(0,E.jsx)(`path`,{d:v(h.pts1),fill:`none`,stroke:`var(--presence)`,strokeWidth:xc,strokeLinecap:`round`,strokeLinejoin:`round`,className:`dh-strand`}),(0,E.jsx)(`path`,{d:v(h.pts2),fill:`none`,stroke:`var(--insight)`,strokeWidth:xc,strokeLinecap:`round`,strokeLinejoin:`round`,className:`dh-strand`}),h.rungs.map(({x1:e,y:t,x2:n,base:r,idx:i})=>{let a=(i+.5)/m*m*1.1*2*Math.PI;if(!(Math.cos(a)>0))return null;let s=r.highlight;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:e,y1:t,x2:n,y2:t,stroke:s||Dc(r.pair)?`var(--warning)`:`color-mix(in oklab, var(--presence) 60%, var(--insight))`,strokeWidth:s?3:2,className:`dh-rung`}),o&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`text`,{x:e+6,y:t+4,className:`dh-base-label`,textAnchor:`start`,children:Oc(r.pair)}),(0,E.jsx)(`text`,{x:n-6,y:t+4,className:`dh-base-label`,textAnchor:`end`,children:kc(r.pair)})]})]},`rung-fg-${i}`)}),(0,E.jsx)(`text`,{x:16,y:14,className:`dh-dir-label`,children:`5′`}),(0,E.jsx)(`text`,{x:hc-16,y:14,className:`dh-dir-label`,textAnchor:`end`,children:`3′`}),(0,E.jsx)(`text`,{x:16,y:_-8,className:`dh-dir-label`,children:`3′`}),(0,E.jsx)(`text`,{x:hc-16,y:_-8,className:`dh-dir-label`,textAnchor:`end`,children:`5′`})]}),a===`ladder`&&g&&(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Sc} ${g.H}`,className:`dh-svg`,role:`img`,"aria-label":e,children:[(0,E.jsx)(`line`,{x1:Cc,y1:Ec,x2:Cc,y2:Ec+m*Tc,stroke:`var(--presence)`,strokeWidth:4,strokeLinecap:`round`,className:`dh-strand`}),(0,E.jsx)(`line`,{x1:wc,y1:Ec,x2:wc,y2:Ec+m*Tc,stroke:`var(--insight)`,strokeWidth:4,strokeLinecap:`round`,className:`dh-strand`}),p.map((e,t)=>{let n=Ec+(t+.5)*Tc,r=e.highlight;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:Cc,y1:n,x2:wc,y2:n,stroke:r||Dc(e.pair)?`var(--warning)`:`color-mix(in oklab, var(--presence) 60%, var(--insight))`,strokeWidth:r?3:2,className:`dh-rung`}),o&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`text`,{x:68,y:n+4,className:`dh-base-label`,textAnchor:`start`,children:Oc(e.pair)}),(0,E.jsx)(`text`,{x:300/2,y:n+4,className:`dh-pair-dash`,textAnchor:`middle`,children:`—`}),(0,E.jsx)(`text`,{x:wc-8,y:n+4,className:`dh-base-label`,textAnchor:`end`,children:kc(e.pair)})]})]},t)}),(0,E.jsx)(`text`,{x:Cc-4,y:Ec-6,className:`dh-dir-label`,textAnchor:`middle`,children:`5′`}),(0,E.jsx)(`text`,{x:244,y:Ec-6,className:`dh-dir-label`,textAnchor:`middle`,children:`3′`}),(0,E.jsx)(`text`,{x:Cc-4,y:Ec+m*Tc+14,className:`dh-dir-label`,textAnchor:`middle`,children:`3′`}),(0,E.jsx)(`text`,{x:244,y:Ec+m*Tc+14,className:`dh-dir-label`,textAnchor:`middle`,children:`5′`})]})]}),(0,E.jsxs)(`div`,{className:`dh-legend`,children:[(0,E.jsx)(`span`,{className:`dh-legend-dot dh-legend-at`}),` A–T`,(0,E.jsx)(`span`,{className:`dh-legend-dot dh-legend-gc`,style:{marginLeft:12}}),` G–C`]}),c&&(0,E.jsx)(`p`,{className:`dh-caption`,children:c}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(u)})]})}var Mc=340,Nc=120,Pc=16,Fc=20,Ic=52,Lc=5.2,Rc=10,zc=3,Bc=[[380,`#7B00D7`],[420,`#5700FF`],[470,`#0047FF`],[500,`#00AAFF`],[530,`#00FF28`],[570,`#AAFF00`],[600,`#FF8C00`],[650,`#FF2200`],[780,`#800000`]];function Vc(e){let t=Bc;if(e<=t[0][0])return t[0][1];if(e>=t[t.length-1][0])return t[t.length-1][1];for(let n=0;n<t.length-1;n++){let[r,i]=t[n],[a,o]=t[n+1];if(e>=r&&e<=a){let t=(e-r)/(a-r),n=parseInt(i.slice(1,3),16),s=parseInt(i.slice(3,5),16),c=parseInt(i.slice(5,7),16),l=parseInt(o.slice(1,3),16),u=parseInt(o.slice(3,5),16),d=parseInt(o.slice(5,7),16);return`#${Math.round(n+(l-n)*t).toString(16).padStart(2,`0`)}${Math.round(s+(u-s)*t).toString(16).padStart(2,`0`)}${Math.round(c+(d-c)*t).toString(16).padStart(2,`0`)}`}}return`#888`}function Hc(e){let t=e.map((e,t)=>t).sort((t,n)=>e[t].x-e[n].x),n=[],r=Array(e.length).fill(0);for(let i of t){let t=e[i].text.length*Lc/2,a=e[i].x-t,o=0;for(;n[o]!==void 0&&a<n[o]+zc;)o++;r[i]=o,n[o]=e[i].x+t}return r}function Uc({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,lines:r,mode:i=`emission`,range:a=[380,780],elementLabel:o,caption:c,footer:u,delay:d}){let f=s[t]||s.spark,p=`ls-grad-${(0,P.useId)().replace(/:/g,``)}`,[m,h]=a,g=Mc-Pc*2,_=e=>Pc+(Math.max(m,Math.min(h,e))-m)/(h-m)*g,v=(0,P.useMemo)(()=>{let e=[],t=Math.ceil(m/50)*50;for(let n=t;n<=h;n+=50)e.push(n);return e},[m,h]),y=(0,P.useMemo)(()=>{let e=r.map((e,t)=>({i:t,x:_(e.wavelength),text:e.label??``})).filter(e=>e.text),t=Hc(e),n=new Map;return e.forEach((e,r)=>n.set(e.i,t[r])),n},[r,m,h]),b=y.size?Math.max(...y.values()):0,x=Fc+b*Rc,S=x+Ic+4,C=S+14,w=Nc+b*Rc+(o?14:0);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`ls-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Mc} ${w}`,className:`ls-svg`,role:`img`,"aria-label":o?`${o} spectrum`:e,children:[(0,E.jsx)(`defs`,{children:(0,E.jsx)(`linearGradient`,{id:p,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,children:Bc.map(([e,t])=>(0,E.jsx)(`stop`,{offset:`${(e-380)/400*100}%`,stopColor:t},e))})}),i===`emission`?(0,E.jsx)(`rect`,{x:Pc,y:x,width:g,height:Ic,fill:`var(--surface-inset, #1a1a2e)`,rx:3}):(0,E.jsx)(`rect`,{x:Pc,y:x,width:g,height:Ic,fill:`url(#${p})`,rx:3}),i===`emission`&&(0,E.jsx)(`rect`,{x:Pc,y:x,width:g,height:Ic,fill:`url(#${p})`,opacity:.15,rx:3}),r.map((e,t)=>{let n=_(e.wavelength),r=e.intensity??1,a=Ic*Math.max(.2,r),o=x+Ic-a,s=Vc(e.wavelength),c=y.get(t)??0;return(0,E.jsxs)(`g`,{children:[i===`emission`?(0,E.jsx)(`line`,{x1:n,y1:o,x2:n,y2:x+Ic,stroke:s,strokeWidth:1.8,opacity:.85+.15*r}):(0,E.jsx)(`line`,{x1:n,y1:x,x2:n,y2:x+Ic,stroke:`rgba(0,0,0,0.85)`,strokeWidth:2}),e.label&&(0,E.jsx)(`text`,{x:n,y:x-4-c*Rc,textAnchor:`middle`,className:`ls-label`,children:e.label})]},t)}),v.map(e=>{let t=_(e);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:t,y1:S,x2:t,y2:S+4,className:`ls-axis`}),(0,E.jsx)(`text`,{x:t,y:C,textAnchor:`middle`,className:`ls-tick-lbl`,children:e})]},e)}),(0,E.jsx)(`text`,{x:Mc/2,y:w-2,textAnchor:`middle`,className:`ls-axis-label`,children:o??`Wavelength (nm)`})]})}),c&&(0,E.jsx)(`p`,{className:`ls-caption`,children:c}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(u)})]})}var Wc=[`color-mix(in oklab, var(--presence) 22%, var(--surface-default))`,`color-mix(in oklab, var(--insight) 22%, var(--surface-default))`,`color-mix(in oklab, var(--warning) 22%, var(--surface-default))`,`color-mix(in oklab, var(--presence) 14%, color-mix(in oklab, var(--insight) 28%, var(--surface-default)))`,`color-mix(in oklab, var(--insight) 14%, color-mix(in oklab, var(--warning) 28%, var(--surface-default)))`],Gc=340,Kc=40,qc=12,Jc=8,Yc=220,Xc=40,Zc=10,Qc=8.5,$c=.62,el=10,tl=18;function nl({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,tiers:r,showNotes:i=!0,caption:a,footer:o,delay:c}){let u=s[t]||s.spark,d=r.slice(0,Jc),f=d.length,p=(0,P.useMemo)(()=>f===0?[]:d.map((e,t)=>{let n=f===1?0:t/(f-1),r=((1-n)*Yc+n*Xc)/2,i=f-1-t,a=qc+i*42,o=Gc/2,s=f===1?1:Math.min(1,(t+1)/(f-1));return{tier:e,halfW:r,halfWNext:((1-s)*Yc+s*Xc)/2,cx:o,y:a,row:i}}),[d,f]),m=Math.min(Jc,f)*42+qc*2;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`py-wrap`,children:(0,E.jsx)(`svg`,{viewBox:`0 0 ${Gc} ${m}`,className:`py-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:p.map(({tier:e,halfW:t,halfWNext:n,cx:r,y:i},a)=>{let o=e.color?`color-mix(in oklab, ${e.color} 22%, var(--surface-default))`:Wc[a%Wc.length]??Wc[0],s=r-t,c=r+t,l=r-n,u=r+n,d=i+Kc,f=i,p=`${s},${d} ${c},${d} ${u},${f} ${l},${f}`,m=i+Kc/2,h=e.value?`${e.label} · ${e.value}`:e.label,g=Math.max(0,n*2-el),_=h.length*(Zc*$c)<=g?Zc:Qc,v=!(h.length*_*$c<=g)&&g>=tl;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`polygon`,{points:p,fill:o,stroke:`var(--surface-elevated, var(--surface-default))`,strokeWidth:1.5}),(0,E.jsx)(`text`,{x:r,y:m+5,textAnchor:`middle`,className:`py-tier-label`,style:_===Zc?void 0:{fontSize:_},...v?{textLength:g,lengthAdjust:`spacingAndGlyphs`}:{},children:h})]},a)})})}),i&&d.some(e=>e.note)&&(0,E.jsx)(`ul`,{className:`py-notes`,children:[...d].reverse().map((e,t)=>e.note?(0,E.jsxs)(`li`,{className:`py-notes-row`,children:[(0,E.jsx)(`span`,{className:`py-notes-label`,children:e.label}),(0,E.jsx)(`span`,{className:`py-notes-text`,children:e.note})]},t):null)}),a&&(0,E.jsx)(`p`,{className:`py-caption`,children:a}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(o)})]})}function rl({title:e=`Two-Column Proof`,icon:t=`spark`,iconColor:n=`var(--presence)`,given:r,prove:i,steps:a,diagram:o,footer:c,delay:u}){let d=s[t]??s.spark;return(0,E.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(u??0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{style:il,children:[(0,E.jsxs)(`div`,{style:al,children:[(0,E.jsx)(`span`,{style:ol,children:`GIVEN`}),(0,E.jsx)(`span`,{style:sl,children:r})]}),(0,E.jsxs)(`div`,{style:{...al,marginTop:6},children:[(0,E.jsx)(`span`,{style:{...ol,color:`var(--presence)`},children:`PROVE`}),(0,E.jsx)(`span`,{style:sl,children:i})]})]}),o&&(0,E.jsx)(`p`,{style:cl,children:(0,E.jsx)(`em`,{children:o})}),(0,E.jsxs)(`div`,{style:ll,children:[(0,E.jsxs)(`div`,{style:ul,children:[(0,E.jsx)(`div`,{style:dl,children:`Statement`}),(0,E.jsx)(`div`,{style:{...dl,borderLeft:`1px solid var(--grid-line)`},children:`Reason`})]}),a.map((e,t)=>{let n=t%2==1,r=t===a.length-1,i=n?{background:`color-mix(in oklab, var(--surface-elevated) 50%, transparent)`}:{};return(0,E.jsxs)(`div`,{style:{...fl,...i},children:[(0,E.jsxs)(`div`,{style:{...pl,borderBottom:r?`none`:`1px solid var(--grid-line)`},children:[(0,E.jsxs)(`span`,{style:ml,children:[t+1,`. `]}),(0,E.jsx)(`span`,{style:hl,children:e.statement}),r&&(0,E.jsx)(`span`,{style:gl,"aria-label":`QED`,children:`∎`})]}),(0,E.jsx)(`div`,{style:{...pl,borderLeft:`1px solid var(--grid-line)`,borderBottom:r?`none`:`1px solid var(--grid-line)`,color:`var(--text-secondary)`},children:e.reason})]},t)})]}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}var il={background:`var(--surface-elevated)`,borderRadius:6,padding:`10px 14px`,marginBottom:10},al={display:`flex`,alignItems:`baseline`,gap:8},ol={fontSize:9,fontWeight:700,letterSpacing:`0.06em`,color:`var(--text-muted)`,flexShrink:0,minWidth:40},sl={fontSize:12,color:`var(--text-primary)`,lineHeight:1.4},cl={fontSize:11,color:`var(--text-muted)`,margin:`0 0 8px`,padding:`5px 10px`,borderLeft:`2px solid var(--surface-border)`,lineHeight:1.4},ll={border:`1px solid var(--grid-line)`,borderRadius:6,overflow:`hidden`},ul={display:`grid`,gridTemplateColumns:`1fr 1fr`,background:`var(--surface-elevated)`,borderBottom:`1px solid var(--grid-line)`},dl={padding:`5px 10px`,fontSize:9,fontWeight:700,letterSpacing:`0.08em`,color:`var(--text-muted)`,textTransform:`uppercase`},fl={display:`grid`,gridTemplateColumns:`1fr 1fr`},pl={padding:`7px 10px`,fontSize:12,color:`var(--text-primary)`,lineHeight:1.4,display:`flex`,alignItems:`baseline`,gap:2,minWidth:0,wordBreak:`break-word`},ml={color:`var(--text-muted)`,flexShrink:0,fontSize:11},hl={flex:1,minWidth:0},gl={marginLeft:`auto`,fontSize:16,color:`var(--presence)`,lineHeight:1,flexShrink:0},_l=300,vl=260,yl=150,bl=130,xl=40;function X(e,t){return[yl+e*xl,bl-t*xl]}function Sl(e,t,n,r,i,a){return[e*i+t*a,n*i+r*a]}function Cl(e,t,n,r,i,a=7){let o=Math.atan2(r-t,n-e),s=e=>n-a*Math.cos(o+e),c=e=>r-a*Math.sin(o+e);return`${n},${r} ${s(-.4)},${c(-.4)} ${s(.4)},${c(.4)}`}var wl=[-3,-2,-1,0,1,2,3];function Tl({title:e=`Linear Transformation`,icon:t=`sparkle`,iconColor:n=`var(--presence)`,matrix:r,showEigens:i=!0,animated:a=!0,footer:o,delay:c}){let u=s[t]??s.sparkle,d=`gt-clip-${(0,P.useId)().replace(/:/g,``)}`,[f,p]=(0,P.useState)(!a);(0,P.useEffect)(()=>{if(!a)return;let e=setTimeout(()=>p(!0),300);return()=>clearTimeout(e)},[a]);let{a:m,b:h,c:g,d:_,det:v,hLines:y,vLines:b,ox:x,oy:S,iHatX:C,iHatY:w,jHatX:T,jHatY:D,eigens:O}=(0,P.useMemo)(()=>{let[[e,t],[n,a]]=r,o=[],s=[];for(let r of wl){let[i,s]=X(...Sl(e,t,n,a,-3,r)),[c,l]=X(...Sl(e,t,n,a,3,r));o.push({x1:i,y1:s,x2:c,y2:l,isAxis:r===0})}for(let r of wl){let[i,o]=X(...Sl(e,t,n,a,r,-3)),[c,l]=X(...Sl(e,t,n,a,r,3));s.push({x1:i,y1:o,x2:c,y2:l,isAxis:r===0})}let[c,l]=X(0,0),[u,d]=X(e,n),[f,p]=X(t,a),m=e*a-t*n,h=[];if(i){let r=e+a,i=e*a-t*n,o=r*r-4*i;if(o>=0){let i=Math.sqrt(o),s=[(r+i)/2,(r-i)/2];for(let r of s){let i=Math.abs(e-r)<Math.abs(a-r),o=Math.abs(t)>1e-9?t:Math.abs(n)>1e-9?r-a:+!!i,s=Math.abs(t)>1e-9?r-e:Math.abs(n)>1e-9?n:+!i,c=Math.hypot(o,s);c>1e-9&&h.push({vx:o/c,vy:s/c,lambda:r})}h.length===2&&Math.abs(h[0].vx*h[1].vy-h[0].vy*h[1].vx)<1e-6&&(h=[h[0]])}}return{a:e,b:t,c:n,d:a,det:m,hLines:o,vLines:s,ox:c,oy:l,iHatX:u,iHatY:d,jHatX:f,jHatY:p,eigens:h}},[r,i]),k=Math.min(yl,_l-yl,bl,vl-bl)-4;return(0,E.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(c||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),e]}),(0,E.jsxs)(`svg`,{viewBox:`0 0 ${_l} ${vl}`,width:`100%`,style:{display:`block`},role:`img`,"aria-label":e,children:[(0,E.jsx)(`defs`,{children:(0,E.jsx)(`clipPath`,{id:d,children:(0,E.jsx)(`rect`,{x:0,y:0,width:_l,height:vl})})}),(0,E.jsxs)(`g`,{clipPath:`url(#${d})`,children:[wl.map(e=>{let[t,n]=X(-3,e),[r,i]=X(3,e),a=e===0;return(0,E.jsx)(`line`,{x1:t,y1:n,x2:r,y2:i,stroke:a?`var(--text-muted)`:`var(--surface-border)`,strokeWidth:a?1.2:.8,opacity:.6},`oh${e}`)}),wl.map(e=>{let[t,n]=X(e,-3),[r,i]=X(e,3),a=e===0;return(0,E.jsx)(`line`,{x1:t,y1:n,x2:r,y2:i,stroke:a?`var(--text-muted)`:`var(--surface-border)`,strokeWidth:a?1.2:.8,opacity:.6},`ov${e}`)})]}),(0,E.jsxs)(`g`,{clipPath:`url(#${d})`,style:{opacity:+!!f,transition:`opacity 0.6s ease`},children:[y.map((e,t)=>(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--insight)`,strokeWidth:e.isAxis?2:.9,opacity:e.isAxis?1:.75},`th${t}`)),b.map((e,t)=>(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--insight)`,strokeWidth:e.isAxis?2:.9,opacity:e.isAxis?1:.75},`tv${t}`)),O.map((e,t)=>{let n=e.vx,r=-e.vy,i=Math.hypot(n,r)||1,a=n/i*k,o=r/i*k,s=k*.55,c=x+n/i*s,l=S+r/i*s-4,u=Number.isInteger(e.lambda)?String(e.lambda):e.lambda.toFixed(2);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:x,y1:S,x2:x+a,y2:S+o,stroke:`var(--danger)`,strokeWidth:1.5,strokeDasharray:`3 2`}),(0,E.jsx)(`line`,{x1:x,y1:S,x2:x-a,y2:S-o,stroke:`var(--danger)`,strokeWidth:1.5,strokeDasharray:`3 2`}),(0,E.jsxs)(`text`,{x:c,y:l,textAnchor:`middle`,fill:`var(--danger)`,fontSize:9,fontFamily:`inherit`,children:[`λ=`,u]})]},`eig${t}`)}),(C!==x||w!==S)&&(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:x,y1:S,x2:C,y2:w,stroke:`var(--presence)`,strokeWidth:2,strokeLinecap:`round`}),(0,E.jsx)(`polygon`,{points:Cl(x,S,C,w,`var(--presence)`),fill:`var(--presence)`}),(0,E.jsx)(`text`,{x:C+(C-x>0?6:-6),y:w+(w-S>0?10:-4),fill:`var(--presence)`,fontSize:10,fontFamily:`inherit`,textAnchor:C-x>0?`start`:`end`,children:`î→`})]}),(T!==x||D!==S)&&(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:x,y1:S,x2:T,y2:D,stroke:`var(--warning)`,strokeWidth:2,strokeLinecap:`round`}),(0,E.jsx)(`polygon`,{points:Cl(x,S,T,D,`var(--warning)`),fill:`var(--warning)`}),(0,E.jsx)(`text`,{x:T+(T-x>=0?6:-6),y:D+(D-S>=0?10:-4),fill:`var(--warning)`,fontSize:10,fontFamily:`inherit`,textAnchor:T-x>=0?`start`:`end`,children:`ĵ→`})]}),(0,E.jsxs)(`text`,{x:_l-8,y:14,textAnchor:`end`,fill:`var(--text-muted)`,fontSize:10,fontFamily:`inherit`,children:[`det = `,v.toFixed(2)]}),(0,E.jsxs)(`text`,{x:_l-8,y:26,textAnchor:`end`,fill:`var(--text-muted)`,fontSize:9,fontFamily:`inherit`,children:[`area ×`,Math.abs(v).toFixed(2)]}),(0,E.jsxs)(`text`,{x:8,y:vl-20,fill:`var(--text-secondary)`,fontSize:9,fontFamily:`monospace`,children:[`[`,m,` `,h,`]`]}),(0,E.jsxs)(`text`,{x:8,y:vl-8,fill:`var(--text-secondary)`,fontSize:9,fontFamily:`monospace`,children:[`[`,g,` `,_,`]`]})]})]}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(o)})]})}var El=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`];function Dl(e){let t=e.trim();if(/^-?\d+(\.\d+)?$/.test(t))return{coef:Number(t),varPart:``};let n=t.match(/^(-?\d*\.?\d*)([a-zA-Z][a-zA-Z0-9²³⁴⁵]*)$/);if(!n)return{coef:1,varPart:t};let r=n[1];return{coef:r===``||r===`+`?1:r===`-`?-1:Number(r),varPart:n[2]}}function Ol(e,t){let n=Dl(e),r=Dl(t),i=n.coef*r.coef,a=n.varPart,o=r.varPart;if(!a&&!o)return String(i);let s;return s=a?o?a===o?a+`²`:[a,o].sort().join(``):a:o,i===1?s:i===-1?`-`+s:String(i)+s}function kl({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,factorA:r,factorB:i,labelsA:a,labelsB:o,showProducts:c=!0,showSum:u=!0,caption:d,footer:f,delay:p}){let m=s[t]??s.table,h=(0,P.useMemo)(()=>r.map((e,t)=>a?.[t]??String(e)),[r,a]),g=(0,P.useMemo)(()=>i.map((e,t)=>o?.[t]??String(e)),[i,o]),_=(0,P.useMemo)(()=>g.map(e=>h.map(t=>Ol(t,e))),[g,h]),v=(0,P.useMemo)(()=>`= `+_.flat().join(` + `).replace(/\+ -/g,`- `),[_]),y=`min-content repeat(${r.length}, minmax(56px, 1fr))`;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`lr-am-wrap`,children:[(0,E.jsxs)(`div`,{className:`lr-am-grid`,style:{gridTemplateColumns:y},children:[(0,E.jsx)(`div`,{className:`lr-am-cell lr-am-corner`,"aria-hidden":`true`}),h.map((e,t)=>(0,E.jsx)(`div`,{className:`lr-am-cell lr-am-col-hdr`,children:e},t)),g.map((e,t)=>{let n=El[t%El.length];return(0,E.jsxs)(P.Fragment,{children:[(0,E.jsx)(`div`,{className:`lr-am-cell lr-am-row-hdr`,style:{background:`color-mix(in srgb, ${n} 25%, transparent)`},children:e}),h.map((e,r)=>(0,E.jsx)(`div`,{className:`lr-am-cell lr-am-body-cell`,style:{background:`color-mix(in srgb, ${n} 12%, transparent)`},children:c?_[t][r]:null},r))]},t)})]}),u&&(0,E.jsx)(`div`,{className:`lr-am-sum`,"aria-label":`Product sum: ${v}`,children:v})]}),d&&(0,E.jsx)(`p`,{className:`lr-am-caption`,children:d}),f&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(f)})]})}function Al(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===` `||r===` `){n++;continue}if(r>=`0`&&r<=`9`||r===`.`){let r=``;for(;n<e.length&&(e[n]>=`0`&&e[n]<=`9`||e[n]===`.`);)r+=e[n++];t.push({k:`num`,v:parseFloat(r)})}else if(r>=`a`&&r<=`z`||r>=`A`&&r<=`Z`||r===`_`){let r=``;for(;n<e.length&&(e[n]>=`a`&&e[n]<=`z`||e[n]>=`A`&&e[n]<=`Z`||e[n]>=`0`&&e[n]<=`9`||e[n]===`_`);)r+=e[n++];t.push({k:`id`,v:r})}else r===`+`||r===`-`||r===`*`||r===`/`||r===`^`?(t.push({k:`op`,v:r}),n++):r===`(`?(t.push({k:`lp`}),n++):(r===`)`&&t.push({k:`rp`}),n++)}return t}var jl=class{toks;pos=0;vars;constructor(e,t){this.toks=e,this.vars=t}peek(){return this.toks[this.pos]}eat(){return this.toks[this.pos++]}parse(){return this.expr()}expr(){let e=this.term();for(;;){let t=this.peek();if(t?.k!==`op`||t.v!==`+`&&t.v!==`-`)break;this.eat();let n=this.term();e=t.v===`+`?e+n:e-n}return e}term(){let e=this.factor();for(;;){let t=this.peek();if(t?.k!==`op`||t.v!==`*`&&t.v!==`/`)break;this.eat();let n=this.factor();e=t.v===`*`?e*n:e/n}return e}factor(){let e=this.unary(),t=this.peek();return t?.k===`op`&&t.v===`^`?(this.eat(),e**+this.factor()):e}unary(){let e=this.peek();return e?.k===`op`&&e.v===`-`?(this.eat(),-this.unary()):this.primary()}primary(){let e=this.peek();if(!e)return 0;if(e.k===`num`)return this.eat(),e.v;if(e.k===`lp`){this.eat();let e=this.expr();return this.peek()?.k===`rp`&&this.eat(),e}if(e.k===`id`){this.eat();let t=e.v.toLowerCase();if(this.peek()?.k===`lp`){this.eat();let e=this.expr();switch(this.peek()?.k===`rp`&&this.eat(),t){case`sin`:return Math.sin(e);case`cos`:return Math.cos(e);case`tan`:return Math.tan(e);case`sqrt`:return Math.sqrt(e);case`abs`:return Math.abs(e);case`exp`:return Math.exp(e);case`log`:case`ln`:return Math.log(e);case`asin`:return Math.asin(e);case`acos`:return Math.acos(e);case`atan`:return Math.atan(e);default:return 0}}return t===`pi`?Math.PI:t===`e`?Math.E:this.vars[e.v]??this.vars[t]??0}return 0}};function Ml(e,t){return new jl(Al(e),t).parse()}function Nl(e){return e.trim()?t=>Ml(e,{t}):null}function Pl(e){return e.trim()?(t,n)=>Ml(e,{x:t,y:n}):null}var Fl=300,Il=280,Ll=150,Rl=140,zl=120,Bl=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],Vl=[.25,.5,.75,1],Hl=Array.from({length:12},(e,t)=>t*30*Math.PI/180),Ul=[{x:283,y:144,text:`0`,anchor:`start`},{x:Ll,y:Rl-zl-7,text:`π/2`,anchor:`middle`},{x:Ll-zl-13,y:144,text:`π`,anchor:`end`},{x:Ll,y:274,text:`3π/2`,anchor:`middle`}];function Wl(e,t,n){let r=e.map(e=>Nl(e.fn)),i=0;for(let e of r)if(e)for(let r=0;r<=300;r++){let a=t+r/300*(n-t);try{let t=e(a);Number.isFinite(t)&&Math.abs(t)>i&&(i=Math.abs(t))}catch{}}return i===0&&(i=1),e.map((e,a)=>{let o=r[a];if(!o)return{points:``,color:Bl[a%Bl.length]};let s=[];for(let e=0;e<=300;e++){let r=t+e/300*(n-t);try{let e=o(r);if(Number.isFinite(e)){let t=Ll+e/i*zl*Math.cos(r),n=Rl-e/i*zl*Math.sin(r);s.push(`${t.toFixed(2)},${n.toFixed(2)}`)}}catch{}}return{points:s.join(` `),color:e.color??Bl[a%Bl.length],label:e.label}})}function Gl(e,t,n){let r=e.map(e=>{let r=e.fn.indexOf(`,`);if(r===-1)return null;let i=Nl(e.fn.slice(0,r).trim()),a=Nl(e.fn.slice(r+1).trim());if(!i||!a)return null;let o=[];for(let e=0;e<=300;e++){let r=t+e/300*(n-t);try{let e=i(r),t=a(r);Number.isFinite(e)&&Number.isFinite(t)&&o.push({x:e,y:t})}catch{}}return o}),i=0;for(let e of r)if(e)for(let t of e){let e=Math.max(Math.abs(t.x),Math.abs(t.y));e>i&&(i=e)}i===0&&(i=1);let a=zl/i;return e.map((e,t)=>{let n=r[t];return!n||n.length===0?{points:``,color:Bl[t%Bl.length]}:{points:n.map(e=>{let t=Ll+e.x*a,n=Rl-e.y*a;return`${t.toFixed(2)},${n.toFixed(2)}`}).join(` `),color:e.color??Bl[t%Bl.length],label:e.label}})}function Kl({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,type:r=`polar`,fn:i,curves:a,domain:o,footer:c,delay:u}){let d=s[t]||s.chart,f=(0,P.useMemo)(()=>{let e=a??(i?[{fn:i}]:[]);if(e.length===0)return[];let[t,n]=o??[0,2*Math.PI];return r===`parametric`?Gl(e,t,n):Wl(e,t,n)},[r,i,a,o]);return(0,E.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Fl} ${Il}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e??(r===`polar`?`Polar plot`:`Parametric curve`),children:[Vl.map(e=>(0,E.jsx)(`circle`,{cx:Ll,cy:Rl,r:zl*e,fill:`none`,stroke:`var(--grid-line)`,strokeWidth:.5},`ring-${e}`)),Hl.map((e,t)=>(0,E.jsx)(`line`,{x1:Ll,y1:Rl,x2:Ll+zl*Math.cos(e),y2:Rl-zl*Math.sin(e),stroke:`var(--grid-line)`,strokeWidth:.5},`spoke-${t}`)),Ul.map(({x:e,y:t,text:n,anchor:r})=>(0,E.jsx)(`text`,{x:e,y:t,fontSize:9,fill:`var(--text-muted)`,textAnchor:r,children:n},`albl-${n}`)),(0,E.jsx)(`text`,{x:264,y:Rl-5,fontSize:9,fill:`var(--text-muted)`,textAnchor:`end`,children:`1`}),f.map((e,t)=>e.points?(0,E.jsx)(`polyline`,{points:e.points,fill:`none`,stroke:e.color,strokeWidth:2,strokeLinejoin:`round`,strokeLinecap:`round`},`crv-${t}`):null)]}),f.some(e=>e.label)&&(0,E.jsx)(`div`,{className:`vfl-legend`,children:f.filter(e=>e.label).map((e,t)=>(0,E.jsxs)(`span`,{className:`vfl-leg`,children:[(0,E.jsx)(`i`,{style:{background:e.color}}),e.label]},`leg-${t}`))}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}var ql=320,Jl=220,Z={l:42,r:16,t:14,b:36},Yl=200,Xl=.18,Zl={sin:[-4,4],cos:[-4,4],exp:[-3,3],ln:[.05,4],arctan:[-6,6]},Ql={sin:`sin x`,cos:`cos x`,exp:`eˣ`,ln:`ln x`,arctan:`arctan x`},$l=`⁰¹²³⁴⁵⁶⁷⁸⁹`;function eu(e){return String(e).split(``).map(e=>$l[+e]??e).join(``)}function tu(e){let t=1;for(let n=2;n<=e;n++)t*=n;return t}function nu(e,t){switch(e){case`sin`:return Math.sin(t);case`cos`:return Math.cos(t);case`exp`:return Math.exp(t);case`ln`:return t>0?Math.log(t):NaN;case`arctan`:return Math.atan(t);default:return NaN}}function ru(e,t,n,r){let i=e===`ln`?r-1:r-t;switch(e){case`sin`:{let e=0,t=i;for(let r=0;r<n;r++)r>0&&(t*=-i*i/(2*r*(2*r+1))),e+=t;return e}case`cos`:{let e=0,t=1;for(let r=0;r<n;r++)r>0&&(t*=-i*i/((2*r-1)*(2*r))),e+=t;return e}case`exp`:{let e=0,t=1;for(let r=0;r<n;r++)r>0&&(t*=i/r),e+=t;return e}case`ln`:{if(n===0)return 0;let e=r-1,t=e,i=e;for(let r=2;r<=n;r++)i*=-(r-1)*e/r,t+=i;return t}case`arctan`:{let e=0,t=i;for(let r=0;r<n;r++)r>0&&(t=t*(-i*i)*(2*r-1)/(2*r+1)),e+=t;return e}default:return 0}}function iu(e,t,n){let r=t===0?`x`:t===1?`(x−1)`:`(x−${t})`,i=Math.min(n,3);if(i===0)return`${Ql[e]} ≈ 0`;let a=``;switch(e){case`sin`:for(let e=0;e<i;e++){let t=2*e+1,n=tu(t),i=t===1?r:`${r}${eu(t)}`,o=n===1?i:`${i}/${n}`;a+=e===0?o:` ${e%2==1?`−`:`+`} ${o}`}break;case`cos`:for(let e=0;e<i;e++){let t=2*e,n=tu(t),i=t===0?`1`:`${r}${eu(t)}`,o=n<=1?i:`${i}/${n}`;a+=e===0?o:` ${e%2==1?`−`:`+`} ${o}`}break;case`exp`:for(let e=0;e<i;e++){let t=tu(e),n=e===0?`1`:e===1?r:`${r}${eu(e)}`,i=t<=1?n:`${n}/${t}`;a+=e===0?i:` + ${i}`}break;case`ln`:for(let e=1;e<=i;e++){let t=e===1?r:`${r}${eu(e)}`,n=e===1?t:`${t}/${e}`;a+=e===1?n:` ${e%2==0?`−`:`+`} ${n}`}break;case`arctan`:for(let e=0;e<i;e++){let t=2*e+1,n=t===1?r:`${r}${eu(t)}`,i=t===1?n:`${n}/${t}`;a+=e===0?i:` ${e%2==1?`−`:`+`} ${i}`}break}if(n>i){let t=e===`exp`?`+`:e===`ln`?(i+1)%2==0?`−`:`+`:i%2==0?`+`:`−`;a+=` ${t} …`}return`${Ql[e]} ≈ ${a}`}function au({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,fn:r,center:i=0,maxTerms:a=7,showTerms:o,xDomain:c,showError:u=!1,footer:d,delay:f}){let p=s[t]||s.chart,h=(0,P.useId)(),[g,_]=(0,P.useState)(()=>o??Math.min(3,a??7)),v=o??g,y=r===`ln`?1:i,[b,x]=c??Zl[r],{truePath:S,approxPath:C,errorPoly:w,yTicks:T,xTicks:D,sx:O,sy:k,yZero:A,yDomMin:j,yDomMax:M,annotX:N,annotY:ee}=(0,P.useMemo)(()=>{let e=[b,x],t=Array.from({length:Yl},(t,n)=>e[0]+(e[1]-e[0])*n/(Yl-1)),n=t.map(e=>nu(r,e)),i=t.map(e=>ru(r,y,v,e)),a=n.filter(e=>Number.isFinite(e)),o=a.length?Math.min(...a):-1,s=a.length?Math.max(...a):1,c=Math.max((s-o)*Xl,.5),l=o-c,d=s+c,f=m(e,[Z.l,ql-Z.r]),p=m([l,d],[Jl-Z.b,Z.t]);function h(e){let n=``,r=!1;for(let i=0;i<Yl;i++){if(!Number.isFinite(e[i])){r=!1;continue}let a=f(t[i]),o=p(e[i]);if(!Number.isFinite(o)){r=!1;continue}n+=`${r?`L`:`M`} ${a.toFixed(1)},${o.toFixed(1)} `,r=!0}return n.trim()}let g=``;if(u){let e=[],r=[];for(let a=0;a<Yl;a++){if(!Number.isFinite(n[a])||!Number.isFinite(i[a]))continue;let o=f(t[a]),s=p(n[a]),c=p(i[a]);!Number.isFinite(s)||!Number.isFinite(c)||(e.push(`${o.toFixed(1)},${s.toFixed(1)}`),r.unshift(`${o.toFixed(1)},${c.toFixed(1)}`))}e.length>1&&(g=`M ${e.join(` L `)} L ${r.join(` L `)} Z`)}let _=p.ticks(4),S=f.ticks(5),C=p(0),w=ql-Z.r-20,T=Z.t+14;for(let e=Yl-1;e>=0;e--){if(!Number.isFinite(i[e]))continue;let n=p(i[e]);if(Number.isFinite(n)){w=Math.min(f(t[e])-3,ql-Z.r-20),T=Math.max(Z.t+10,Math.min(Jl-Z.b-4,n-8));break}}return{truePath:h(n),approxPath:h(i),errorPoly:g,yTicks:_,xTicks:S,sx:f,sy:p,yZero:C,yDomMin:l,yDomMax:d,annotX:w,annotY:T}},[r,y,v,b,x,u]),te=iu(r,y,v);return(0,E.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(f||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{style:{margin:`6px 0 2px`,display:`flex`,justifyContent:`center`},children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${ql} ${Jl}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e??r,children:[(0,E.jsx)(`defs`,{children:(0,E.jsx)(`clipPath`,{id:h,children:(0,E.jsx)(`rect`,{x:Z.l,y:Z.t,width:ql-Z.l-Z.r,height:Jl-Z.t-Z.b})})}),(0,E.jsxs)(`g`,{stroke:`var(--grid-line)`,strokeWidth:.5,children:[T.map(e=>(0,E.jsx)(`line`,{x1:Z.l,y1:k(e),x2:ql-Z.r,y2:k(e)},`gy${e}`)),D.map(e=>(0,E.jsx)(`line`,{x1:O(e),y1:Z.t,x2:O(e),y2:Jl-Z.b},`gx${e}`))]}),(0,E.jsx)(`line`,{x1:Z.l,y1:Z.t,x2:Z.l,y2:Jl-Z.b,stroke:`var(--line-strong)`,strokeWidth:1}),(0,E.jsx)(`line`,{x1:Z.l,y1:Jl-Z.b,x2:ql-Z.r,y2:Jl-Z.b,stroke:`var(--line-strong)`,strokeWidth:1}),A>Z.t&&A<Jl-Z.b&&(0,E.jsx)(`line`,{x1:Z.l,y1:A,x2:ql-Z.r,y2:A,stroke:`var(--text-muted)`,strokeWidth:1,strokeDasharray:`3 2`}),w&&(0,E.jsx)(`path`,{d:w,fill:`color-mix(in oklab, var(--warning) 20%, transparent)`,stroke:`none`,clipPath:`url(#${h})`}),S&&(0,E.jsx)(`path`,{d:S,fill:`none`,stroke:`var(--text-muted)`,strokeWidth:1.5,strokeDasharray:`4 3`,clipPath:`url(#${h})`}),C&&(0,E.jsx)(`path`,{d:C,fill:`none`,stroke:`var(--presence)`,strokeWidth:2,clipPath:`url(#${h})`}),T.filter(e=>e>=j&&e<=M).map(e=>(0,E.jsx)(`text`,{x:Z.l-4,y:k(e)+3,fill:`var(--text-muted)`,fontSize:9,textAnchor:`end`,children:Math.round(e*100)/100},`ytl${e}`)),D.filter(e=>e>=b&&e<=x).map(e=>(0,E.jsx)(`text`,{x:O(e),y:Jl-Z.b+12,fill:`var(--text-muted)`,fontSize:9,textAnchor:`middle`,children:Math.round(e*100)/100},`xtl${e}`)),(0,E.jsxs)(`text`,{x:N,y:ee,fill:`var(--presence)`,fontSize:10,fontWeight:600,textAnchor:`end`,children:[`n=`,v]})]})}),(0,E.jsx)(`p`,{"data-semantic-ellipsis":`true`,style:{margin:`4px 0 6px`,fontSize:`11px`,color:`var(--text-secondary)`,fontFamily:`monospace`,textAlign:`center`,overflowWrap:`anywhere`,wordBreak:`break-word`},children:te}),!o&&(0,E.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`0 4px`},children:[(0,E.jsx)(`input`,{type:`range`,min:1,max:a,value:g,onChange:e=>_(Number(e.target.value)),style:{flex:1,accentColor:`var(--presence)`,marginTop:`4px`},"aria-label":`Number of Taylor terms`}),(0,E.jsxs)(`span`,{style:{fontSize:`11px`,color:`var(--text-muted)`,whiteSpace:`nowrap`},children:[`n = `,g,` term`,g===1?``:`s`]})]}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(d)})]})}var Q=320,ou=268,$={l:40,r:16,t:16,b:36},su=14,cu=60,lu=.3,uu=8,du={dx:6,dy:-5},fu=[{dx:6,dy:-5},{dx:6,dy:13},{dx:-20,dy:-5},{dx:-20,dy:13},{dx:6,dy:-18},{dx:-20,dy:-18}],pu=11;function mu(e){let t=[];return e.map(e=>{let n=du;for(let r of fu){let i=e.px+r.dx,a=e.py+r.dy;if(!t.some(e=>Math.hypot(e.lx-i,e.ly-a)<pu)){n=r;break}}let r=e.px+n.dx,i=e.py+n.dy;return t.push({lx:r,ly:i}),{...e,lx:r,ly:i}})}var hu=6,gu=`ẋ=0`,_u=`ẏ=0`;function vu(e,t=hu){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function yu({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,fx:r,gy:i,xDomain:a=[-4,4],yDomain:o=[-4,4],trajectories:c,showNullclines:u=!0,xlabel:d=`x`,ylabel:f=`y`,footer:p,delay:h}){let g=s[t]||s.sparkle,_=(0,P.useId)(),v=(0,P.useId)(),y=(0,P.useId)(),b=(0,P.useMemo)(()=>{let e=Pl(r),t=Pl(i);if(!e||!t)return null;let[n,s]=a,[l,d]=o,f=m([n,s],[$.l,Q-$.r]),p=m([l,d],[ou-$.b,$.t]),h=Q-$.r-$.l,g=ou-$.b-$.t,_=h/15,v=g/15,y=Math.min(_,v)*.35,b=[];for(let r=0;r<su;r++)for(let i=0;i<su;i++){let a=$.l+_*(r+1),o=$.t+v*(i+1),c=f.domain[0]+(a-$.l)/h*(s-n),u=d-(o-$.t)/g*(d-l),p=e(c,u),m=t(c,u),y=Math.hypot(p,m);b.push({px:a,py:o,fu:p,fv:m,mag:y})}let x=b.reduce((e,t)=>Math.max(e,t.mag),0)||1,S=b.map(({px:e,py:t,fu:n,fv:r,mag:i})=>{let a=i>0?i:1,o=n/a*y,s=-(r/a)*y;return{x1:e-o,y1:t-s,x2:e+o,y2:t+s,mag:i}}),C=[],w=[];if(u){let r=(s-n)/cu,i=(d-l)/cu;for(let a=0;a<cu;a++)for(let o=0;o<cu;o++){let s=n+a*r,c=l+o*i,u=s+r,d=c+i,m=e(s,c),h=e(u,c);if(m*h<0){let e=s+m/(m-h)*r;C.push({x1:f(e)-3,y1:p(c),x2:f(e)+3,y2:p(c)})}let g=e(s,c),_=e(s,d);if(g*_<0){let e=c+g/(g-_)*i;C.push({x1:f(s),y1:p(e)-3,x2:f(s),y2:p(e)+3})}let v=t(s,c),y=t(u,c);if(v*y<0){let e=s+v/(v-y)*r;w.push({x1:f(e)-3,y1:p(c),x2:f(e)+3,y2:p(c)})}let b=t(s,c),x=t(s,d);if(b*x<0){let e=c+b/(b-x)*i;w.push({x1:f(s),y1:p(e)-3,x2:f(s),y2:p(e)+3})}}}let T=[];{let r=(s-n)/cu,i=(d-l)/cu;for(let a=0;a<=cu;a++)for(let o=0;o<=cu;o++){let s=n+a*r,c=l+o*i,u=e(s,c),d=t(s,c);Math.abs(u)<lu&&Math.abs(d)<lu&&T.push({x:s,y:c})}}let E=[];for(let e of T){let t=f(e.x),n=p(e.y),r=!1;for(let i of E){let a=f(i.x/i.n),o=p(i.y/i.n);if(Math.hypot(t-a,n-o)<uu){i.x+=e.x,i.y+=e.y,i.n++,r=!0;break}}r||E.push({x:e.x,y:e.y,n:1})}let D=mu(E.map(({x:n,y:r,n:i})=>{let a=n/i,o=r/i,s=.001,c=(e(a+s,o)-e(a-s,o))/(2*s),l=(e(a,o+s)-e(a,o-s))/(2*s),u=(t(a+s,o)-t(a-s,o))/(2*s),d=(t(a,o+s)-t(a,o-s))/(2*s),m=c+d,h=c*d-l*u,g=m*m-4*h,_;return _=h<0?`saddle`:Math.abs(m)<1e-4&&h>0?`center`:m<0&&g>=0?`stable-node`:m<0&&g<0?`stable-spiral`:m>0&&g>=0?`unstable-node`:`unstable-spiral`,{px:f(a),py:p(o),type:_}})),O=(c??[]).map(({x0:r,y0:i})=>{let a=.05,o=[[f(r),p(i)]],c=r,u=i;for(let r=0;r<400&&!(c<n||c>s||u<l||u>d);r++){let n=e(c,u),r=t(c,u);if(Math.abs(n)<.01&&Math.abs(r)<.01)break;let i=e(c+a*n/2,u+a*r/2),s=t(c+a*n/2,u+a*r/2),l=e(c+a*i/2,u+a*s/2),d=t(c+a*i/2,u+a*s/2),m=e(c+a*l,u+a*d),h=t(c+a*l,u+a*d);c+=a/6*(n+2*i+2*l+m),u+=a/6*(r+2*s+2*d+h),o.push([f(c),p(u)])}let m=Math.floor(o.length/2),h=o[Math.max(0,m-1)],g=o[Math.min(o.length-1,m+1)],_=g[0]-h[0],v=g[1]-h[1],y=Math.hypot(_,v)||1;return{points:o.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),mx:o[m][0],my:o[m][1],mdx:_/y,mdy:v/y}}),k=Math.max($.t,Math.min(ou-$.b,p(0)));return{arrows:S,xNullSegs:C,yNullSegs:w,equilibria:D,trajPaths:O,sx:f,sy:p,axisX:Math.max($.l,Math.min(Q-$.r,f(0))),axisY:k,xTicks:f.ticks(4),yTicks:p.ticks(4),maxMag:x}},[r,i,a,o,c,u]);if(!b)return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{style:{padding:`16px`,color:`var(--text-muted)`,fontSize:13},children:`Could not parse expressions — check fx and gy.`})]});let{arrows:x,xNullSegs:S,yNullSegs:C,equilibria:w,trajPaths:T,sx:D,sy:O,axisX:k,axisY:A,xTicks:j,yTicks:M,maxMag:N}=b;function ee(e){return`color-mix(in oklab, var(--danger) ${Math.round(e/(N||1)*100)}%, var(--insight))`}function te(e){return e===`stable-node`||e===`stable-spiral`||e===`center`?`var(--insight)`:e===`saddle`?`var(--warning)`:`var(--danger)`}return(0,E.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(h||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{style:{position:`relative`,lineHeight:0},children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Q} ${ou}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e||`Phase portrait`,children:[(0,E.jsxs)(`defs`,{children:[(0,E.jsx)(`clipPath`,{id:_,children:(0,E.jsx)(`rect`,{x:$.l,y:$.t,width:Q-$.r-$.l,height:ou-$.b-$.t})}),(0,E.jsx)(`marker`,{id:v,markerWidth:`5`,markerHeight:`5`,refX:`4`,refY:`2.5`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,E.jsx)(`path`,{d:`M0,0.5 L4.5,2.5 L0,4.5`,fill:`none`,stroke:`context-stroke`,strokeWidth:`1`,strokeLinejoin:`round`})}),(0,E.jsx)(`marker`,{id:y,markerWidth:`7`,markerHeight:`7`,refX:`3.5`,refY:`3.5`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,E.jsx)(`path`,{d:`M0,1 L6,3.5 L0,6`,fill:`none`,stroke:`var(--presence)`,strokeWidth:`1.4`,strokeLinejoin:`round`})})]}),(0,E.jsxs)(`g`,{stroke:`var(--grid-line)`,strokeWidth:`0.5`,children:[j.map(e=>(0,E.jsx)(`line`,{x1:D(e),y1:$.t,x2:D(e),y2:ou-$.b},`gx${e}`)),M.map(e=>(0,E.jsx)(`line`,{x1:$.l,y1:O(e),x2:Q-$.r,y2:O(e)},`gy${e}`))]}),(0,E.jsx)(`line`,{x1:$.l,y1:A,x2:Q-$.r,y2:A,stroke:`var(--surface-border)`,strokeWidth:`1`}),(0,E.jsx)(`line`,{x1:k,y1:$.t,x2:k,y2:ou-$.b,stroke:`var(--surface-border)`,strokeWidth:`1`}),j.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:D(e),y:ou-$.b+12,textAnchor:`middle`,fill:`var(--text-muted)`,fontSize:`9`,children:e},`xt${e}`)),M.filter(e=>e!==0).map(e=>(0,E.jsx)(`text`,{x:$.l-5,y:O(e)+3,textAnchor:`end`,fill:`var(--text-muted)`,fontSize:`9`,children:e},`yt${e}`)),(0,E.jsx)(`text`,{x:($.l+Q-$.r)/2,y:ou-6,textAnchor:`middle`,fill:`var(--text-muted)`,fontSize:`10`,children:d}),(0,E.jsx)(`text`,{x:0,y:0,transform:`translate(12, ${($.t+ou-$.b)/2}) rotate(-90)`,textAnchor:`middle`,fill:`var(--text-muted)`,fontSize:`10`,children:f}),u&&(0,E.jsxs)(`g`,{clipPath:`url(#${_})`,children:[S.map((e,t)=>(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--danger)`,strokeWidth:`1.5`,strokeDasharray:`3 2`,strokeLinecap:`round`},`xn${t}`)),C.map((e,t)=>(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--insight)`,strokeWidth:`1.5`,strokeDasharray:`3 2`,strokeLinecap:`round`},`yn${t}`))]}),(0,E.jsx)(`g`,{clipPath:`url(#${_})`,children:x.map((e,t)=>(0,E.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:ee(e.mag),strokeWidth:`1.2`,strokeLinecap:`round`,markerEnd:`url(#${v})`},`a${t}`))}),(0,E.jsx)(`g`,{clipPath:`url(#${_})`,children:T.map((e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`polyline`,{points:e.points,fill:`none`,stroke:`var(--presence)`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,E.jsx)(`line`,{x1:e.mx-e.mdx*.1,y1:e.my-e.mdy*.1,x2:e.mx+e.mdx*.1,y2:e.my+e.mdy*.1,stroke:`var(--presence)`,strokeWidth:`1.5`,markerEnd:`url(#${y})`})]},`traj${t}`))}),w.map((e,t)=>{let n=te(e.type),r=e.type===`saddle`,i=e.type===`stable-node`||e.type===`stable-spiral`||e.type===`center`;return(0,E.jsxs)(`g`,{children:[r?(0,E.jsxs)(`g`,{stroke:n,strokeWidth:`1.8`,strokeLinecap:`round`,children:[(0,E.jsx)(`line`,{x1:e.px-4,y1:e.py-4,x2:e.px+4,y2:e.py+4}),(0,E.jsx)(`line`,{x1:e.px+4,y1:e.py-4,x2:e.px-4,y2:e.py+4})]}):i?(0,E.jsx)(`circle`,{cx:e.px,cy:e.py,r:4,fill:n,stroke:`var(--surface-elevated)`,strokeWidth:`1`}):(0,E.jsx)(`circle`,{cx:e.px,cy:e.py,r:4,fill:`var(--surface-elevated)`,stroke:n,strokeWidth:`1.5`}),(0,E.jsx)(`text`,{x:e.lx,y:e.ly,fontSize:`9`,fill:`var(--text-muted)`,children:e.type===`stable-node`?`SN`:e.type===`unstable-node`?`UN`:e.type===`stable-spiral`?`SS`:e.type===`unstable-spiral`?`US`:e.type===`center`?`C`:`Sa`})]},`eq${t}`)}),u&&(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:Q-$.r-62,y1:$.t+7,x2:Q-$.r-50,y2:$.t+7,stroke:`var(--danger)`,strokeWidth:`1.5`,strokeDasharray:`3 2`}),(0,E.jsxs)(`text`,{x:Q-$.r-47,y:$.t+11,fontSize:`7`,fill:`var(--text-muted)`,children:[!1,vu(gu)]}),(0,E.jsx)(`line`,{x1:Q-$.r-62,y1:$.t+18,x2:Q-$.r-50,y2:$.t+18,stroke:`var(--insight)`,strokeWidth:`1.5`,strokeDasharray:`3 2`}),(0,E.jsxs)(`text`,{x:Q-$.r-47,y:$.t+22,fontSize:`7`,fill:`var(--text-muted)`,children:[!1,vu(_u)]})]})]})}),p&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(p)})]})}var bu=typeof window<`u`&&`speechSynthesis`in window&&typeof window.SpeechSynthesisUtterance==`function`,xu={new:`New`,practicing:`Practicing`,mastered:`Mastered`},Su=[`new`,`practicing`,`mastered`];function Cu({title:e,icon:t=`captions`,iconColor:n=`var(--presence)`,listName:r,words:i,footer:a,delay:o}){let c=s[t]??s.captions,u=(i??[]).filter(e=>!!e?.word),[d,f]=(0,P.useState)(null);(0,P.useEffect)(()=>()=>{bu&&window.speechSynthesis.cancel()},[]);let p=(0,P.useCallback)((e,t)=>{if(!bu)return;window.speechSynthesis.cancel();let n=new window.SpeechSynthesisUtterance(e);n.rate=.85;let r=()=>f(e=>e===t?null:e);n.onend=r,n.onerror=r,window.speechSynthesis.speak(n),f(t)},[]),m={new:0,practicing:0,mastered:0};for(let e of u)m[e.mastery??`new`]++;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o??0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`p`,{className:`lr-swl-caption`,children:[r?`${r} sight words`:`Sight words`,` · `,u.length,` `,u.length===1?`word`:`words`]}),u.length===0?(0,E.jsx)(`p`,{className:`lr-swl-empty`,children:`No words yet.`}):(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`div`,{className:`lr-swl-words`,role:`group`,"aria-label":`Sight words`,children:u.map((e,t)=>{let n=e.mastery??`new`,r=n===`mastered`;return(0,E.jsxs)(`button`,{type:`button`,className:`lr-swl-chip m-stagger-item m-fade-rise`,"data-mastery":n,"data-playing":d===t||void 0,disabled:!bu,style:{"--i":t},onClick:()=>p(e.word,t),title:bu?`Hear "${e.word}"`:e.word,"aria-label":`${e.word}, ${xu[n]}${bu?`, tap to hear`:``}`,children:[r&&(0,E.jsx)(s.check,{className:`ic lr-swl-check`}),(0,E.jsx)(`span`,{className:`lr-swl-word`,children:e.word})]},t)})}),(0,E.jsx)(`div`,{className:`lr-swl-legend`,children:Su.map(e=>(0,E.jsxs)(`span`,{className:`lr-swl-legend-item`,"data-mastery":e,children:[(0,E.jsx)(`i`,{className:`lr-swl-legend-dot`,"aria-hidden":`true`}),xu[e],` · `,m[e]]},e))})]}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(a)})]})}var wu=[{letter:`A`,keyword:`Apple`},{letter:`B`,keyword:`Ball`},{letter:`C`,keyword:`Cat`},{letter:`D`,keyword:`Dog`},{letter:`E`,keyword:`Elephant`},{letter:`F`,keyword:`Fish`},{letter:`G`,keyword:`Goat`},{letter:`H`,keyword:`Hat`},{letter:`I`,keyword:`Igloo`},{letter:`J`,keyword:`Jam`},{letter:`K`,keyword:`Kite`},{letter:`L`,keyword:`Lion`},{letter:`M`,keyword:`Moon`},{letter:`N`,keyword:`Nest`},{letter:`O`,keyword:`Owl`},{letter:`P`,keyword:`Pig`},{letter:`Q`,keyword:`Queen`},{letter:`R`,keyword:`Rabbit`},{letter:`S`,keyword:`Sun`},{letter:`T`,keyword:`Tiger`},{letter:`U`,keyword:`Umbrella`},{letter:`V`,keyword:`Van`},{letter:`W`,keyword:`Whale`},{letter:`X`,keyword:`Xylophone`},{letter:`Y`,keyword:`Yarn`},{letter:`Z`,keyword:`Zebra`}],Tu=Object.fromEntries(wu.map(e=>[e.letter,e.keyword]));function Eu(e){let t=[];for(let n of e){let e=(n.letter??``).trim().slice(0,1);if(!e)continue;let r=e.toUpperCase();t.push({upper:r,lower:e.toLowerCase(),keyword:n.keyword?.trim()||Tu[r],icon:n.icon})}return t}function Du({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,letters:r,footer:i,delay:a}){let o=s[t]??s.edit,c=Eu(r??[]),u=c.length>0?c:Eu(wu);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a??0)+`ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(o,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`ul`,{className:`lr-abc-grid`,children:u.map((e,t)=>{let n=e.icon?s[e.icon]:void 0;return(0,E.jsxs)(`li`,{className:`lr-abc-cell m-stagger-item m-fade-rise`,style:{"--i":t},"aria-label":e.keyword?`${e.upper} is for ${e.keyword}`:e.upper,children:[(0,E.jsxs)(`div`,{className:`lr-abc-glyph`,"aria-hidden":`true`,children:[(0,E.jsx)(`span`,{className:`lr-abc-upper`,children:e.upper}),(0,E.jsx)(`span`,{className:`lr-abc-lower`,children:e.lower})]}),(e.keyword||n)&&(0,E.jsxs)(`div`,{className:`lr-abc-keyword`,"aria-hidden":`true`,children:[n&&(0,E.jsx)(n,{className:`ic lr-abc-icon`}),e.keyword&&(0,E.jsx)(`span`,{children:e.keyword})]})]},`${e.upper}-${t}`)})}),i&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(i)})]})}function Ou(e,t){let n=String(e),r=t-n.length;return Array.from({length:t},(e,t)=>t<r?null:Number(n[t-r]))}function ku(e){let t=e.reduce((e,t)=>e+t,0),n=Math.max(...e.map(e=>String(e).length),String(t).length),r=e.map(e=>Ou(e,n)),i=Array(n).fill(null),a=Array(n).fill(null),o=0;for(let e=n-1;e>=0;e--){let t=o+r.reduce((t,n)=>t+(n[e]??0),0);i[e]=t%10,o=Math.floor(t/10),e>0&&o>0&&(a[e-1]=o)}return{kind:`add`,cols:n,rows:r,result:i,carryInto:a,sum:t}}function Au(e){let t=e[0]-e.slice(1).reduce((e,t)=>e+t,0),n=Math.max(...e.map(e=>String(e).length)),r=e.map(e=>Ou(e,n)),[i,...a]=r,o=Array(n).fill(null),s=Array(n).fill(!1);if(t<0)return{kind:`sub`,cols:n,rows:r,result:o,borrowInto:s,invalidOrder:!0,difference:t};let c=0;for(let e=n-1;e>=0;e--){c>0&&(s[e]=!0);let t=a.reduce((t,n)=>t+(n[e]??0),0),n=(i[e]??0)-c-t;n<0?(n+=10,c=1):c=0,o[e]=n}return{kind:`sub`,cols:n,rows:r,result:o,borrowInto:s,invalidOrder:!1,difference:t}}function ju(e,t){let n=String(e).split(``).map(Number),r=[],i=0,a=!1;for(let e=0;e<n.length;e++){let o=i*10+n[e],s=Math.floor(o/t),c=s*t,l=o-c,u=e===n.length-1;(a||s>0||u)&&r.push({col:e,partial:o,qDigit:s,product:c,remainder:l}),s>0&&(a=!0),i=l}let o=Math.floor(e/t);return{dividend:e,divisor:t,digitCount:n.length,steps:r,finalCol:n.length-1,finalRemainder:i,quotient:o}}function Mu(e,t){return{gridColumn:`${e-t.length+2} / ${e+2}`}}function Nu(e){return{gridTemplateColumns:`repeat(${Math.max(1,e)}, minmax(1.4em, 1fr))`}}function Pu({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,op:r,operands:i,showCarries:a=!0,caption:o,footer:c,delay:u}){let d=s[t]||s.table,f=(0,P.useMemo)(()=>i.map(e=>Math.max(0,Math.floor(e))).filter(Number.isFinite),[i]),p=r===`add`&&f.length>0?ku(f):null,m=r===`sub`&&f.length>1?Au(f):null,h=r===`longdiv`&&f.length>1&&f[1]>0?ju(f[0],f[1]):null,g=p||m||h;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),!g&&(0,E.jsx)(`div`,{className:`lr-ca-empty`,children:r===`longdiv`?`Need a dividend and a non-zero divisor to divide.`:r===`sub`?`Need at least two whole numbers to subtract.`:`Need at least one whole number to add.`}),p&&(0,E.jsxs)(`div`,{className:`lr-ca-figure lr-ca-addsub`,children:[a&&(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-marks`,style:Nu(p.cols),children:p.carryInto.map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ca-cell lr-ca-mark lr-ca-mark--carry`,children:e===null?``:e},t))}),p.rows.map((e,t)=>(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-operand`,style:Nu(p.cols),children:e.map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ca-cell`,children:e===null?``:e},t))},t)),(0,E.jsx)(`div`,{className:`lr-ca-rule`}),(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-result`,style:Nu(p.cols),children:p.result.map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ca-cell`,children:e},t))})]}),m&&!m.invalidOrder&&(0,E.jsxs)(`div`,{className:`lr-ca-figure lr-ca-addsub`,children:[a&&(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-marks`,style:Nu(m.cols),children:m.borrowInto.map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ca-cell lr-ca-mark lr-ca-mark--borrow`,children:e?1:``},t))}),m.rows.map((e,t)=>(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-operand`,style:Nu(m.cols),children:e.map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ca-cell`,children:e===null?``:e},t))},t)),(0,E.jsx)(`div`,{className:`lr-ca-rule`}),(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-result`,style:Nu(m.cols),children:m.result.map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ca-cell`,children:e},t))})]}),m&&m.invalidOrder&&(0,E.jsxs)(`div`,{className:`lr-ca-figure`,children:[(0,E.jsxs)(`div`,{className:`lr-ca-invalid`,children:[f[0],` − `,f.slice(1).join(` − `),` = −`,Math.abs(m.difference)]}),(0,E.jsx)(`p`,{className:`lr-ca-cap`,children:`The first number is smaller than the rest combined, so there's no column of digits to borrow from — shown as a plain difference instead.`})]}),h&&(0,E.jsxs)(`div`,{className:`lr-ca-figure lr-ca-longdiv`,children:[(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-quotient`,style:Nu(h.digitCount),children:h.steps.map(e=>(0,E.jsx)(`span`,{className:`lr-ca-cell`,style:Mu(e.col,String(e.qDigit)),children:e.qDigit},e.col))}),(0,E.jsxs)(`div`,{className:`lr-ca-ld-house`,children:[(0,E.jsx)(`span`,{className:`lr-ca-ld-divisor`,children:h.divisor}),(0,E.jsx)(`div`,{className:`lr-ca-ld-bracket`,children:(0,E.jsx)(`div`,{className:`lr-ca-row`,style:Nu(h.digitCount),children:String(h.dividend).split(``).map((e,t)=>(0,E.jsx)(`span`,{className:`lr-ca-cell`,children:e},t))})})]}),(0,E.jsxs)(`div`,{className:`lr-ca-ld-steps`,children:[h.steps.map((e,t)=>(0,E.jsxs)(`div`,{className:`lr-ca-ld-step`,children:[(0,E.jsx)(`div`,{className:`lr-ca-row`,style:Nu(h.digitCount),children:(0,E.jsx)(`span`,{className:`lr-ca-cell`,style:Mu(e.col,String(e.partial)),children:e.partial})}),(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-ld-subtract`,style:Nu(h.digitCount),children:(0,E.jsxs)(`span`,{className:`lr-ca-cell lr-ca-ld-product`,style:Mu(e.col,String(e.product)),children:[`−`,e.product]})})]},t)),(0,E.jsx)(`div`,{className:`lr-ca-row lr-ca-ld-remainder`,style:Nu(h.digitCount),children:(0,E.jsx)(`span`,{className:`lr-ca-cell`,style:Mu(h.finalCol,String(h.finalRemainder)),children:h.finalRemainder})})]}),(0,E.jsxs)(`p`,{className:`lr-ca-cap`,children:[h.quotient,` remainder `,h.finalRemainder]})]}),o&&(0,E.jsx)(`p`,{className:`lr-ca-cap`,children:o}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}var Fu=340,Iu=236,Lu=34,Ru=16,zu=16,Bu=30;function Vu({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,points:r,equivalenceVolumeMl:i,pKa:a,bufferBand:o,footer:c,delay:u}){let d=s[t]||s.chart,f=(0,P.useMemo)(()=>{let e=Number.isFinite(i)?i:null,t=Array.isArray(o)&&o.length===2&&o.every(Number.isFinite)?[Math.min(...o),Math.max(...o)]:null,n=Number.isFinite(a)?a:null,s=(Array.isArray(r)?r:[]).filter(e=>e&&Number.isFinite(e.volumeMl)&&Number.isFinite(e.pH)).slice().sort((e,t)=>e.volumeMl-t.volumeMl);if(s.length===0)return null;let c=s.map(e=>e.volumeMl),l=Math.min(...c),u=Math.max(...c);e!==null&&(l=Math.min(l,e),u=Math.max(u,e)),t&&(l=Math.min(l,t[0]),u=Math.max(u,t[1])),l===u&&(--l,u+=1);let d=(u-l)*.06;l-=d,u+=d;let f=s.map(e=>e.pH),p=Math.min(0,...f,n??1/0),h=Math.max(14,...f,n??-1/0),g=m([l,u],[Lu,Fu-Ru]),_=m([p,h],[Iu-Bu,zu]);return{valid:s,sx:g,sy:_,xTicks:g.ticks(5),yTicks:_.ticks(5),path:s.map(e=>`${g(e.volumeMl).toFixed(2)},${_(e.pH).toFixed(2)}`).join(` `),veq:e,band:t,pKaVal:n}},[r,i,o,a]);if(!f)return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-tc-empty`,children:`No titration data to plot.`})]});let{valid:p,sx:h,sy:g,xTicks:_,yTicks:v,path:y,veq:b,band:x,pKaVal:S}=f,C=b!==null&&S!==null?b/2:null;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsx)(`div`,{className:`lr-tc-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Fu} ${Iu}`,className:`lr-tc-svg`,role:`img`,"aria-label":e,children:[x&&(0,E.jsx)(`rect`,{x:h(x[0]),y:zu,width:Math.max(0,h(x[1])-h(x[0])),height:Iu-zu-Bu,className:`lr-tc-band`}),_.map((e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:h(e),y1:zu,x2:h(e),y2:Iu-Bu,className:`lr-tc-grid`}),(0,E.jsx)(`text`,{x:h(e),y:219,className:`lr-tc-tick`,textAnchor:`middle`,children:e})]},`gx${t}`)),v.map((e,t)=>(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:Lu,y1:g(e),x2:Fu-Ru,y2:g(e),className:`lr-tc-grid`}),(0,E.jsx)(`text`,{x:Lu-6,y:g(e)+3,className:`lr-tc-tick`,textAnchor:`end`,children:e})]},`gy${t}`)),(0,E.jsx)(`line`,{x1:Lu,y1:zu,x2:Lu,y2:Iu-Bu,className:`lr-tc-axis`}),(0,E.jsx)(`line`,{x1:Lu,y1:Iu-Bu,x2:Fu-Ru,y2:Iu-Bu,className:`lr-tc-axis`}),b!==null&&(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:h(b),y1:zu,x2:h(b),y2:Iu-Bu,className:`lr-tc-veq-line`}),(0,E.jsxs)(`text`,{x:h(b)+4,y:26,className:`lr-tc-veq-label`,children:[`Veq `,b,` mL`]})]}),C!==null&&S!==null&&(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:Lu,y1:g(S),x2:h(C),y2:g(S),className:`lr-tc-pka-line`}),(0,E.jsx)(`line`,{x1:h(C),y1:g(S),x2:h(C),y2:Iu-Bu,className:`lr-tc-pka-line`}),(0,E.jsx)(`circle`,{cx:h(C),cy:g(S),r:3.4,className:`lr-tc-pka-dot`}),(0,E.jsxs)(`text`,{x:37,y:g(S)-4,className:`lr-tc-pka-label`,children:[`pKa ≈ `,S]})]}),(0,E.jsx)(`polyline`,{points:y,fill:`none`,className:`lr-tc-curve`,"data-mark":`line`}),p.map((e,t)=>(0,E.jsx)(`circle`,{cx:h(e.volumeMl),cy:g(e.pH),r:2.6,className:`lr-tc-dot`,"data-mark":t===0?`point`:void 0},t)),(0,E.jsx)(`text`,{x:Fu-Ru,y:zu-4,className:`lr-tc-axlbl`,textAnchor:`end`,children:`Volume added (mL)`}),(0,E.jsx)(`text`,{x:36,y:zu-4,className:`lr-tc-axlbl`,textAnchor:`start`,children:`pH`})]})}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}var Hu=300,Uu=84,Wu=128,Gu=5,Ku=22,qu=320,Ju=168,Yu=30,Xu=14,Zu=10,Qu=24;function $u(){let e=``;for(let t=0;t<=48;t++){let n=(Wu-14)*(t/48),r=Uu/2+9*Math.sin(2.4*2*Math.PI*t/48);e+=`${t===0?`M`:`L`} ${n.toFixed(1)},${r.toFixed(1)} `}return e.trim()}function ed(e,t){return[10,20,30].map(n=>`M ${e} ${t-n} A ${n} ${n} 0 0 1 ${e} ${t+n}`)}function td({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,slits:r,intensity:i,wavelengthNm:a,slitSeparationUm:o,footer:c,delay:u}){let d=s[t]||s.spark,f=r===1?1:2,p=Number.isFinite(a)&&a>0,h=(0,P.useMemo)(()=>f===1?[Uu/2]:[Uu/2-Ku/2,53],[f]),g=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).filter(e=>e&&Number.isFinite(e.position)&&Number.isFinite(e.value)).slice().sort((e,t)=>e.position-t.position);if(e.length===0)return null;let t=e.map(e=>e.position),n=e.map(e=>e.value),r=Math.min(...t),a=Math.max(...t);r===a&&(--r,a+=1);let o=Math.min(0,...n),s=Math.max(...n,o+1),c=m([r,a],[Yu,qu-Xu]),l=m([o,s],[Ju-Qu,Zu]),u=l(Math.max(0,o)),d=e.map(e=>`${c(e.position).toFixed(2)},${l(e.value).toFixed(2)}`),f=[`${c(e[0].position).toFixed(2)},${u.toFixed(2)}`,...d,`${c(e[e.length-1].position).toFixed(2)},${u.toFixed(2)}`].join(` `);return{valid:e,sx:c,sy:l,xTicks:c.ticks(5),path:d.join(` `),areaPath:f}},[i]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,E.jsxs)(`div`,{className:`lr-ip-schematic`,children:[(0,E.jsxs)(`svg`,{viewBox:`0 0 ${Hu} ${Uu}`,className:`lr-ip-schem-svg`,role:`img`,"aria-hidden":`true`,children:[p&&(0,E.jsx)(`path`,{d:$u(),className:`lr-ip-source`}),(()=>{let e=[],t=0,n=[...h].sort((e,t)=>e-t);for(let r of n)e.push({y1:t,y2:r-Gu}),t=r+Gu;return e.push({y1:t,y2:Uu}),e.filter(e=>e.y2>e.y1).map((e,t)=>(0,E.jsx)(`line`,{x1:Wu,y1:e.y1,x2:Wu,y2:e.y2,className:`lr-ip-barrier`},t))})(),h.map((e,t)=>(0,E.jsx)(`g`,{children:ed(Wu,e).map((e,t)=>(0,E.jsx)(`path`,{d:e,className:`lr-ip-wavelet`},t))},t))]}),(0,E.jsxs)(`div`,{className:`lr-ip-schem-meta`,children:[(0,E.jsx)(`span`,{className:`lr-ip-slit-label`,children:f===1?`Single slit`:`Double slit`}),p&&(0,E.jsxs)(`span`,{children:[`λ = `,a,` nm`]}),Number.isFinite(o)&&(0,E.jsxs)(`span`,{children:[`d = `,o,` μm`]})]})]}),g?(0,E.jsx)(`div`,{className:`lr-ip-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${qu} ${Ju}`,className:`lr-ip-svg`,role:`img`,"aria-label":e,children:[g.xTicks.map((e,t)=>(0,E.jsx)(`line`,{x1:g.sx(e),y1:Zu,x2:g.sx(e),y2:Ju-Qu,className:`lr-ip-grid`},t)),(0,E.jsx)(`polygon`,{points:g.areaPath,className:`lr-ip-area`}),(0,E.jsx)(`polyline`,{points:g.path,fill:`none`,className:`lr-ip-curve`,"data-mark":`line`}),(0,E.jsx)(`line`,{x1:Yu,y1:Ju-Qu,x2:qu-Xu,y2:Ju-Qu,className:`lr-ip-axis`}),g.xTicks.map((e,t)=>(0,E.jsx)(`text`,{x:g.sx(e),y:157,className:`lr-ip-tick`,textAnchor:`middle`,children:e},t)),(0,E.jsx)(`text`,{x:qu-Xu,y:Zu-2,className:`lr-ip-axlbl`,textAnchor:`end`,children:`Screen position`}),(0,E.jsx)(`text`,{x:32,y:Zu-2,className:`lr-ip-axlbl`,textAnchor:`start`,children:`Intensity`})]})}):(0,E.jsx)(`div`,{className:`lr-ip-empty`,children:`No fringe-intensity samples to plot.`}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(c)})]})}var nd={s:1,p:3,d:5,f:7};function rd(e){let t=Math.floor(Number(e.boxes));return Number.isFinite(t)&&t>0?t:nd[String(e.subshell??``).trim().slice(-1).toLowerCase()]??1}function id(e,t){let n=Math.floor(Number((Array.isArray(e)?e:[])[t]));return n===1?1:n===2?2:0}function ad({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,element:r,orbitals:i,configString:a,footer:o,delay:c}){let u=s[t]||s.sparkle,d=Array.isArray(i)?i:[];return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,r&&(0,E.jsx)(`span`,{className:`lr-od-element`,children:r})]}),d.length===0?(0,E.jsx)(`div`,{className:`lr-od-empty`,children:`No orbitals to fill.`}):(0,E.jsx)(`div`,{className:`lr-od-rows`,children:d.map((e,t)=>{let n=rd(e);return(0,E.jsxs)(`div`,{className:`lr-od-row`,children:[(0,E.jsx)(`span`,{className:`lr-od-subshell`,children:e.subshell||`—`}),(0,E.jsx)(`span`,{className:`lr-od-boxes`,children:Array.from({length:n},(t,n)=>{let r=id(e.electrons,n);return(0,E.jsxs)(`span`,{className:`lr-od-box`,"data-occupancy":r,"aria-label":r===0?`empty`:r===1?`one electron`:`two electrons`,children:[r>=1&&(0,E.jsx)(`span`,{className:`lr-od-arrow lr-od-arrow--up`,children:`↑`}),r===2&&(0,E.jsx)(`span`,{className:`lr-od-arrow lr-od-arrow--down`,children:`↓`})]},n)})})]},t)})}),a&&(0,E.jsx)(`p`,{className:`lr-od-config`,children:a}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(o)})]})}var od=24,sd=.08;function cd(e,t){if(!(t>0)||!Number.isFinite(e)||e<=0)return{whole:0,frac:0,overflow:0,total:0};let n=e/t,r=Math.floor(n+1e-9),i=Math.max(0,n-r),a=Math.min(r,od);return{whole:a,frac:i,overflow:r-a,total:n}}function ld(e){return Number.isFinite(e)?e.toLocaleString():`0`}function ud(e){let t=(0,F.c)(12),{iconKey:n,filled:r}=e,i=s[n]||s.chart;if(r>=1){let e;return t[0]===i?e=t[1]:(e=(0,E.jsx)(i,{className:`lr-pg-icon lr-pg-icon--full`,"aria-hidden":`true`}),t[0]=i,t[1]=e),e}let a;t[2]===i?a=t[3]:(a=(0,E.jsx)(i,{className:`lr-pg-icon lr-pg-icon--ghost`}),t[2]=i,t[3]=a);let o=`inset(0 ${(1-r)*100}% 0 0)`,c;t[4]===o?c=t[5]:(c={clipPath:o},t[4]=o,t[5]=c);let l;t[6]!==i||t[7]!==c?(l=(0,E.jsx)(i,{className:`lr-pg-icon lr-pg-icon--fill`,style:c}),t[6]=i,t[7]=c,t[8]=l):l=t[8];let u;return t[9]!==a||t[10]!==l?(u=(0,E.jsxs)(`span`,{className:`lr-pg-partial`,"aria-hidden":`true`,children:[a,l]}),t[9]=a,t[10]=l,t[11]=u):u=t[11],u}function dd(e){let t=(0,F.c)(24),{row:n,unitValue:r,iconKey:i}=e,a=typeof n?.label==`string`&&n.label?n.label:`—`,o=Number.isFinite(n?.count)?n.count:0,s,c,l,u;if(t[0]!==o||t[1]!==i||t[2]!==a||t[3]!==r){let{whole:e,frac:n,overflow:d,total:f}=cd(o,r),p=n>=sd;l=`lr-pg-row`;let m;t[8]===a?m=t[9]:(m=(0,E.jsx)(`span`,{className:`lr-pg-label`,children:a}),t[8]=a,t[9]=m);let h;t[10]===o?h=t[11]:(h=ld(o),t[10]=o,t[11]=h);let g;t[12]===h?g=t[13]:(g=(0,E.jsx)(`span`,{className:`lr-pg-count`,children:h}),t[12]=h,t[13]=g),t[14]!==m||t[15]!==g?(u=(0,E.jsxs)(`div`,{className:`lr-pg-row-head`,children:[m,g]}),t[14]=m,t[15]=g,t[16]=u):u=t[16],s=`lr-pg-tiles`,c=f<=0?(0,E.jsx)(`span`,{className:`lr-pg-zero`,children:`—`}):(0,E.jsxs)(E.Fragment,{children:[Array.from({length:e},(e,t)=>(0,E.jsx)(ud,{iconKey:i,filled:1},t)),p&&(0,E.jsx)(ud,{iconKey:i,filled:n},`frac`),d>0&&(0,E.jsxs)(`span`,{className:`lr-pg-overflow`,children:[`+`,ld(d)]})]}),t[0]=o,t[1]=i,t[2]=a,t[3]=r,t[4]=s,t[5]=c,t[6]=l,t[7]=u}else s=t[4],c=t[5],l=t[6],u=t[7];let d;t[17]!==s||t[18]!==c?(d=(0,E.jsx)(`div`,{className:s,children:c}),t[17]=s,t[18]=c,t[19]=d):d=t[19];let f;return t[20]!==l||t[21]!==u||t[22]!==d?(f=(0,E.jsxs)(`div`,{className:l,children:[u,d]}),t[20]=l,t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function fd({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,icon2:r,unitValue:i,rows:a,footer:o,delay:c}){let u=s[t]||s.chart,d=Array.isArray(a)?a:[],f=Number.isFinite(i)&&i>0?i:1;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),d.length===0?(0,E.jsx)(`div`,{className:`lr-pg-empty`,children:`No tally rows to chart.`}):(0,E.jsx)(`div`,{className:`lr-pg-rows`,children:d.map((e,n)=>(0,E.jsx)(dd,{row:e,unitValue:f,iconKey:n%2==1&&r?r:t},n))}),d.length>0&&(0,E.jsxs)(`div`,{className:`lr-pg-key`,children:[(0,E.jsx)(u,{className:`lr-pg-key-ic`}),` Each icon = `,ld(f)]}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(o)})]})}var pd=100,md=14,hd=4,gd=40,_d=12,vd={solid:`Solid`,liquid:`Liquid`,gas:`Gas`};function yd(e){let t=e;return()=>(t=t*1664525+1013904223&4294967295,(t>>>0)/4294967295)}function bd(e,t){let n=Math.ceil(Math.sqrt(e)),r=Math.ceil(e/n),i=n>1?(pd-2*md)/(n-1):0,a=r>1?(pd-2*md)/(r-1):0;return Array.from({length:e},(e,o)=>{let s=o%n,c=Math.floor(o/n);return{x:n>1?md+s*i:pd/2,y:r>1?md+c*a:pd/2,angle:t()*360}})}function xd(e,t){let n=pd/2,r=pd/2,i=pd*.32;return Array.from({length:e},()=>{let e=t()*2*Math.PI,a=i*Math.sqrt(t());return{x:n+Math.cos(e)*a,y:r+Math.sin(e)*a,angle:t()*360}})}function Sd(e,t){return Array.from({length:e},()=>({x:md+t()*(pd-2*md),y:md+t()*(pd-2*md),angle:t()*360}))}function Cd(e,t){if(t===`solid`){let t=3.6;return{d:`M ${e.x-t} ${e.y} A ${t} ${t} 0 0 1 ${e.x+t} ${e.y}`}}let n=t===`gas`?8:4,r=e.angle*Math.PI/180,i=e.x+Math.cos(r)*n,a=e.y+Math.sin(r)*n;return{d:`M ${e.x} ${e.y} L ${i} ${a}`}}function wd(e){let t=(0,F.c)(23),{panel:n,seed:r}=e,i;t[0]===n.particleCount?i=t[1]:(i=Number.isFinite(n.particleCount)?Math.max(hd,Math.min(gd,Math.floor(n.particleCount))):_d,t[0]=n.particleCount,t[1]=i);let a=i,o;if(t[2]!==a||t[3]!==n.phase||t[4]!==r){bb0:{let e=yd(r);if(n.phase===`solid`){o=bd(a,e);break bb0}if(n.phase===`liquid`){o=xd(a,e);break bb0}o=Sd(a,e)}t[2]=a,t[3]=n.phase,t[4]=r,t[5]=o}else o=t[5];let s=o,c;if(t[6]!==n.phase||t[7]!==s){let e;t[9]===n.phase?e=t[10]:(e=(e,t)=>{let r=Cd(e,n.phase);return(0,E.jsxs)(`g`,{className:`lr-pm-mark lr-pm-mark--${n.phase}`,children:[(0,E.jsx)(`path`,{d:r.d,className:`lr-pm-motion`,transform:n.phase===`solid`?`rotate(${e.angle} ${e.x} ${e.y})`:void 0}),(0,E.jsx)(`circle`,{cx:e.x,cy:e.y,r:2.4,className:`lr-pm-dot`})]},t)},t[9]=n.phase,t[10]=e),c=s.map(e),t[6]=n.phase,t[7]=s,t[8]=c}else c=t[8];let l;t[11]===c?l=t[12]:(l=(0,E.jsx)(`svg`,{viewBox:`0 0 ${pd} ${pd}`,className:`lr-pm-svg`,role:`img`,"aria-hidden":`true`,children:c}),t[11]=c,t[12]=l);let u=vd[n.phase],d;t[13]===u?d=t[14]:(d=(0,E.jsx)(`span`,{className:`lr-pm-phase`,children:u}),t[13]=u,t[14]=d);let f;t[15]===n.label?f=t[16]:(f=n.label&&(0,E.jsx)(`span`,{className:`lr-pm-panel-label`,children:n.label}),t[15]=n.label,t[16]=f);let p;t[17]!==d||t[18]!==f?(p=(0,E.jsxs)(`div`,{className:`lr-pm-caption`,children:[d,f]}),t[17]=d,t[18]=f,t[19]=p):p=t[19];let m;return t[20]!==l||t[21]!==p?(m=(0,E.jsxs)(`div`,{className:`lr-pm-panel`,children:[l,p]}),t[20]=l,t[21]=p,t[22]=m):m=t[22],m}function Td({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,panels:r,footer:i,delay:a}){let o=s[t]||s.sparkle,c=(Array.isArray(r)?r:[]).filter(e=>!!e&&(e.phase===`solid`||e.phase===`liquid`||e.phase===`gas`));return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(o,{className:`ic`,style:{color:n}}),` `,e]}),c.length===0?(0,E.jsx)(`div`,{className:`lr-pm-empty`,children:`No phase panels to draw.`}):(0,E.jsx)(`div`,{className:`lr-pm-panels`,children:c.map((e,t)=>(0,E.jsx)(wd,{panel:e,seed:1e3+t*977},t))}),i&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(i)})]})}var Ed={prefix:`Prefix`,root:`Root`,suffix:`Suffix`};function Dd(e){return e===`prefix`||e===`suffix`?e:`root`}function Od({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,word:r,morphemes:i,footer:a,delay:o}){let c=s[t]||s.doc,u=(Array.isArray(i)?i:[]).filter(e=>!!e&&typeof e.text==`string`&&e.text.length>0);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o||0)+`ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),u.length===0?(0,E.jsx)(`div`,{className:`lr-mb-empty`,children:`No morphemes to break down.`}):(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`div`,{className:`lr-mb-word`,children:r||u.map(e=>e.text).join(``)}),(0,E.jsx)(`div`,{className:`lr-mb-segments`,children:u.map((e,t)=>(0,E.jsx)(`span`,{className:`lr-mb-seg lr-mb-seg--${Dd(e.role)}`,children:e.text},t))}),(0,E.jsx)(`div`,{className:`lr-mb-legend`,children:u.map((e,t)=>{let n=Dd(e.role);return(0,E.jsxs)(`div`,{className:`lr-mb-gloss`,children:[(0,E.jsx)(`span`,{className:`lr-mb-role-dot lr-mb-role-dot--${n}`,"aria-hidden":`true`}),(0,E.jsxs)(`span`,{className:`lr-mb-gloss-text`,children:[(0,E.jsx)(`b`,{className:`lr-mb-gloss-term lr-mb-gloss-term--${n}`,children:e.text}),(0,E.jsx)(`i`,{className:`lr-mb-gloss-role`,children:Ed[n]}),e.meaning&&(0,E.jsxs)(`span`,{className:`lr-mb-gloss-meaning`,children:[` — `,e.meaning]})]})]},t)})})]}),a&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(a)})]})}var kd=14,Ad=164,jd=46,Md=12,Nd=26,Pd=26,Fd=8,Id=178,Ld=194,Rd=208,zd=216,Bd=6,Vd=8,Hd={KE:`var(--presence)`,PE:`var(--insight)`,UG:`var(--insight)`,PEG:`var(--insight)`,US:`var(--insight-soft)`,PES:`var(--insight-soft)`,ETH:`var(--warning)`,ETHERM:`var(--warning)`,ETHERMAL:`var(--warning)`,Q:`var(--warning-soft)`,W:`var(--presence-deep)`,ECHEM:`var(--danger)`},Ud=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`,`var(--insight-soft)`];function Wd(e,t){return Hd[String(e??``).toUpperCase().replace(/[^A-Z]/g,``)]??Ud[t%Ud.length]}function Gd(e){let t=typeof e==`number`?e:typeof e==`string`?parseFloat(e):NaN;return Number.isFinite(t)?t:0}function Kd(e){return parseFloat(e.toFixed(2)).toString()}function qd({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,snapshots:r,system:i,unit:a=`J`,footer:o,delay:c}){let u=s[t]??s.chart,d=(0,P.useMemo)(()=>{let e=(Array.isArray(r)?r.slice(0,Bd):[]).map(e=>{let t=(Array.isArray(e?.bars)?e.bars:[]).slice(0,Vd).map(e=>({kind:String(e?.kind??``),value:Gd(e?.value)})),n=t.reduce((e,t)=>e+t.value,0);return{label:typeof e?.label==`string`?e.label:``,bars:t,total:n}}),t=e.flatMap(e=>e.bars.map(e=>e.value)),n=Math.min(0,...t),i=Math.max(0,...t);(!t.length||n===i)&&(n=Math.min(0,n),i=n===0?1:Math.max(i,n+1));let[a,o]=h(n,i),s=m([a,o],[Ad,kd]),c=s(0),l=s.ticks(5).filter(e=>e>=a-1e-9&&e<=o+1e-9),u=jd;return{placed:e.map(e=>{let t=Math.max(1,e.bars.length),n=t*Pd+(t-1)*Fd,r=u;return u+=n+Nd,{...e,gx:r,gw:n}}),y:s,zeroY:c,tickVals:l,svgW:Math.max(98,u-Nd+Md)}},[r]),f=d.placed.length>0;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${c??0}ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,(0,E.jsx)(`span`,{children:e})]}),Array.isArray(i)&&i.length>0&&(0,E.jsxs)(`div`,{className:`ebc-system`,"aria-label":`Objects in the system`,children:[(0,E.jsx)(`span`,{className:`ebc-system-lead`,children:`System`}),i.slice(0,6).map((e,t)=>(0,E.jsx)(`span`,{className:`ebc-system-chip`,children:String(e)},t))]}),f?(0,E.jsx)(`div`,{className:`ebc-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${d.svgW} ${zd}`,className:`ebc-svg`,role:`img`,"aria-label":`Energy bar chart: ${e}`,children:[d.tickVals.map((e,t)=>{let n=d.y(e);return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`line`,{x1:jd,y1:n,x2:d.svgW-Md,y2:n,className:`ebc-grid`}),(0,E.jsx)(`text`,{x:jd-6,y:n+3,className:`ebc-tick`,textAnchor:`end`,children:Kd(e)})]},`t${t}`)}),(0,E.jsx)(`line`,{x1:jd,y1:d.zeroY,x2:d.svgW-Md,y2:d.zeroY,className:`ebc-zero`}),(0,E.jsxs)(`text`,{transform:`translate(13,89) rotate(-90)`,className:`ebc-axis-label`,textAnchor:`middle`,children:[`Energy (`,a,`)`]}),d.placed.map((e,t)=>{let n=x(e.label||`State ${t+1}`,{maxWidth:e.gw+Nd,fontSize:10,minFontSize:7,maxLines:1});return(0,E.jsxs)(`g`,{children:[e.bars.map((t,n)=>{let r=e.gx+n*34,i=d.y(Math.max(0,t.value)),a=d.y(Math.min(0,t.value)),o=Math.max(0,a-i),s=Wd(t.kind,n),c=t.value>=0,l=o<1?d.zeroY-3:c?i-3:a+10,u=x(t.kind||`·`,{maxWidth:32,fontSize:9,minFontSize:6,maxLines:1});return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`rect`,{x:r,y:i,width:Pd,height:o,rx:2,className:`ebc-bar`,style:{fill:s}}),(0,E.jsx)(`text`,{x:r+Pd/2,y:l,className:`ebc-val`,textAnchor:`middle`,children:Kd(t.value)}),(0,E.jsx)(`text`,{x:r+Pd/2,y:Id,className:`ebc-kind`,textAnchor:`middle`,style:{fontSize:u.fontSize},children:u.lines[0]})]},`b${n}`)}),(0,E.jsx)(`text`,{x:e.gx+e.gw/2,y:Ld,className:`ebc-group-label`,textAnchor:`middle`,style:{fontSize:n.fontSize},children:n.lines[0]}),(0,E.jsxs)(`text`,{x:e.gx+e.gw/2,y:Rd,className:`ebc-total`,textAnchor:`middle`,children:[`Σ = `,Kd(e.total),` `,a]})]},`g${t}`)})]})}):(0,E.jsx)(v,{message:`No energy snapshots to chart`}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(o)})]})}var Jd=6,Yd=9,Xd=(Jd-1)*Yd,Zd=24,Qd=10,$d=18,ef=75,tf=9,nf=20,rf=64,af=(e,t,n,r)=>{let i=typeof e==`number`?e:typeof e==`string`?parseInt(e,10):NaN;return Number.isFinite(i)?Math.min(n,Math.max(t,Math.round(i))):r};function of(e){let t=[`E`,`A`,`D`,`G`,`B`,`E`];if(typeof e!=`string`)return t;let n=e.match(/[A-Ga-g][#b]?/g);return!n||n.length!==Jd?t:n.map(e=>e[0].toUpperCase()+e.slice(1))}var sf={h:{glyph:`h`,arc:!0},p:{glyph:`p`,arc:!0},s:{glyph:`/`,arc:!1},"/":{glyph:`\\`,arc:!1}};function cf({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,notes:r,tuning:i=`EADGBE`,beatsPerMeasure:a=4,measuresPerRow:o=4,tempo:c,footer:u,delay:d}){let f=s[t]??s.sparkle,p=af(a,1,16,4),m=af(o,1,8,4),h=of(i),g=Math.max(64,p*nf),_=(0,P.useMemo)(()=>{let e=(Array.isArray(r)?r:[]).map(e=>({measure:af(e?.measure,1,rf,1),beat:(()=>{let t=typeof e?.beat==`number`?e.beat:parseFloat(String(e?.beat));return Number.isFinite(t)?Math.min(p+.999,Math.max(1,t)):1})(),string:af(e?.string,1,Jd,1),fret:af(e?.fret,0,24,0),technique:typeof e?.technique==`string`?e.technique:void 0})),t=Math.min(rf,Math.max(1,e.reduce((e,t)=>Math.max(e,t.measure),1))),n=Math.ceil(t/m),i=(e,t)=>{let n=(e-1)%m,r=(t-1)/p;return Zd+n*g+tf+r*(g-2*tf)},a=e=>Math.floor((e-1)/m),o=e.map(e=>({...e,x:i(e.measure,e.beat),row:a(e.measure)})),s=new Map;for(let e of o){let t=`${e.row}:${e.string}`,n=s.get(t)??[];n.push(e),s.set(t,n)}for(let e of s.values())e.sort((e,t)=>e.x-t.x);let c=[];for(let e of s.values())for(let t=0;t<e.length;t++){let n=e[t],r=n.technique;if(!r||!(r in sf))continue;let i=e[t+1],a=sf[r],o=i?i.x:n.x+14;c.push({row:n.row,string:n.string,x1:n.x,x2:o,glyph:a.glyph,arc:a.arc})}return{placed:o,links:c,numRows:n,measuresInRow:e=>Math.min(m,t-e*m),svgW:Zd+m*g+Qd,svgH:$d+(n-1)*ef+Xd+14}},[r,p,m,g]),y=e=>$d+e*ef,b=e=>t=>y(t)+(e-1)*Yd,x=_.placed.length>0;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${d??0}ms`},children:[(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(f,{className:`ic`,style:{color:n}}),` `,(0,E.jsx)(`span`,{children:e}),(0,E.jsxs)(`span`,{className:`gt-meta`,children:[h.join(``),typeof c==`number`&&Number.isFinite(c)?` · ♩ = ${Math.round(c)}`:``]})]}),x?(0,E.jsx)(`div`,{className:`gt-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${_.svgW} ${_.svgH}`,className:`gt-svg`,role:`img`,"aria-label":`Guitar tab: ${e}`,children:[Array.from({length:_.numRows},(e,t)=>{let n=_.measuresInRow(t),r=Zd+n*g,i=y(t);return(0,E.jsxs)(`g`,{children:[Array.from({length:Jd},(e,t)=>{let n=i+t*Yd;return(0,E.jsx)(`line`,{x1:Zd,y1:n,x2:r,y2:n,className:`gt-line`},`ln${t}`)}),Array.from({length:Jd},(e,t)=>{let n=h[Jd-(t+1)];return(0,E.jsx)(`text`,{x:Zd-8,y:i+t*Yd+3,className:`gt-tune`,textAnchor:`middle`,children:n},`tn${t}`)}),Array.from({length:n+1},(e,t)=>{let n=Zd+t*g;return(0,E.jsx)(`line`,{x1:n,y1:i,x2:n,y2:i+Xd,className:t===0?`gt-bar gt-bar--start`:`gt-bar`},`bl${t}`)}),(0,E.jsx)(`text`,{x:26,y:i-6,className:`gt-measure-num`,textAnchor:`start`,children:t*m+1})]},`row${t}`)}),_.links.map((e,t)=>{let n=b(e.string)(e.row),r=(e.x1+e.x2)/2;if(e.arc){let i=n-7;return(0,E.jsxs)(`g`,{className:`gt-link`,children:[(0,E.jsx)(`path`,{d:`M ${e.x1} ${n-3} Q ${r} ${i} ${e.x2} ${n-3}`,className:`gt-slur`,fill:`none`}),(0,E.jsx)(`text`,{x:r,y:i-1,className:`gt-tech`,textAnchor:`middle`,children:e.glyph})]},`lk${t}`)}return(0,E.jsxs)(`g`,{className:`gt-link`,children:[(0,E.jsx)(`line`,{x1:e.x1+5,y1:n-2,x2:e.x2-5,y2:n-2,className:`gt-slide`}),(0,E.jsx)(`text`,{x:r,y:n-5,className:`gt-tech`,textAnchor:`middle`,children:e.glyph})]},`lk${t}`)}),_.placed.map((e,t)=>{let n=b(e.string)(e.row),r=e.technique===`x`,i=e.technique===`b`,a=r?`x`:String(e.fret),o=a.length*4.4+5;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`rect`,{x:e.x-o/2,y:n-5.5,width:o,height:11,rx:2,className:`gt-fretbg`}),(0,E.jsx)(`text`,{x:e.x,y:n+3,className:`gt-fret`,textAnchor:`middle`,children:a}),i&&(0,E.jsx)(`text`,{x:e.x+o/2+3,y:n+1,className:`gt-tech`,textAnchor:`start`,children:`b↑`})]},`fn${t}`)})]})}):(0,E.jsx)(v,{message:`No notes to tab out`}),u&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(u)})]})}var lf={1:249,2:243,3:198,4:190,5:182,6:171,7:159,8:146,9:141,10:134,11:135,12:134,13:114,14:107,15:102,16:90,17:83,18:80,19:59,20:64,21:47,22:51,X:156,Y:57},uf=249,df={1:.5,2:.38,3:.46,4:.26,5:.27,6:.36,7:.39,8:.31,9:.34,10:.31,11:.4,12:.27,13:.16,14:.16,15:.17,16:.41,17:.29,18:.24,19:.47,20:.44,21:.24,22:.26,X:.4,Y:.27},ff=11,pf=5,mf=4,hf=20,gf=76,_f=86,vf={trisomy:`var(--warning)`,monosomy:`var(--warning)`,deletion:`var(--danger)`,duplication:`var(--insight)`},yf={trisomy:`Trisomy`,monosomy:`Monosomy`,deletion:`Deletion`,duplication:`Duplication`};function bf(e){let t=String(e??``).trim().toUpperCase();if(t===`X`||t===`Y`)return t;let n=parseInt(t,10);return Number.isFinite(n)&&n>=1&&n<=22?String(n):t}function xf(e){if(e===`X`)return 23;if(e===`Y`)return 24;let t=parseInt(e,10);if(Number.isFinite(t))return t;let n=0;for(let t=0;t<e.length;t++)n=n*31+e.charCodeAt(t)>>>0;return n||1}function Sf(e){let t=xf(e)*2654435761>>>0,n=()=>(t=t*1664525+1013904223>>>0,t/4294967295),r=(3+Math.floor(n()*3))*2+1,i=Array.from({length:r},()=>.5+n()),a=i.reduce((e,t)=>e+t,0),o=[],s=0,c=-1;for(let e=0;e<r;e++){let t=s/a;s+=i[e];let n=s/a,l=e%2==1;l&&c<0&&e>=r/2&&(c=o.length),o.push({y0:t,y1:n,dark:l})}if(c<0){for(let e=o.length-1;e>=0;e--)if(o[e].dark){c=e;break}}return{segs:o,markIdx:c}}function Cf(e){let t=(0,F.c)(39),{copy:n,clipId:r}=e,i;t[0]===n.id?i=t[1]:(i=Sf(n.id),t[0]=n.id,t[1]=i);let{segs:a,markIdx:o}=i,s=lf[n.id]??60,c=df[n.id]??.35,l=hf+s/uf*(gf-hf),u=mf+c*l,d=Math.max(5,u-1.6),f=Math.min(mf+l-1,u+1.6),p=mf+l,m=d-mf,h;t[2]===m?h=t[3]:(h=(0,E.jsx)(`rect`,{x:0,y:mf,width:ff,height:m,rx:3}),t[2]=m,t[3]=h);let g=p-f,_;t[4]!==f||t[5]!==g?(_=(0,E.jsx)(`rect`,{x:0,y:f,width:ff,height:g,rx:3}),t[4]=f,t[5]=g,t[6]=_):_=t[6];let v;t[7]!==r||t[8]!==h||t[9]!==_?(v=(0,E.jsx)(`defs`,{children:(0,E.jsxs)(`clipPath`,{id:r,children:[h,_]})}),t[7]=r,t[8]=h,t[9]=_,t[10]=v):v=t[10];let y=d-mf,b;t[11]===y?b=t[12]:(b=(0,E.jsx)(`rect`,{x:0,y:mf,width:ff,height:y,rx:3,className:`kt-arm`}),t[11]=y,t[12]=b);let x=p-f,S;t[13]!==f||t[14]!==x?(S=(0,E.jsx)(`rect`,{x:0,y:f,width:ff,height:x,rx:3,className:`kt-arm`}),t[13]=f,t[14]=x,t[15]=S):S=t[15];let C=`url(#${r})`,w;if(t[16]!==n.mark||t[17]!==l||t[18]!==o||t[19]!==a){let e;t[21]!==n.mark||t[22]!==l||t[23]!==o?(e=(e,t)=>{let r=mf+e.y0*l,i=(e.y1-e.y0)*l,a=n.mark&&t===o?n.mark===`del`?`kt-band kt-band--del`:`kt-band kt-band--dup`:e.dark?`kt-band kt-band--dark`:`kt-band kt-band--light`;return(0,E.jsx)(`rect`,{x:0,y:r,width:ff,height:Math.max(.5,i),className:a},t)},t[21]=n.mark,t[22]=l,t[23]=o,t[24]=e):e=t[24],w=a.map(e),t[16]=n.mark,t[17]=l,t[18]=o,t[19]=a,t[20]=w}else w=t[20];let T;t[25]!==C||t[26]!==w?(T=(0,E.jsx)(`g`,{clipPath:C,children:w}),t[25]=C,t[26]=w,t[27]=T):T=t[27];let D;t[28]!==n.mark||t[29]!==l||t[30]!==o||t[31]!==a?(D=n.mark&&o>=0&&(0,E.jsx)(`line`,{x1:12,y1:mf+(a[o].y0+a[o].y1)/2*l,x2:15,y2:mf+(a[o].y0+a[o].y1)/2*l,className:n.mark===`del`?`kt-tick kt-tick--del`:`kt-tick kt-tick--dup`}),t[28]=n.mark,t[29]=l,t[30]=o,t[31]=a,t[32]=D):D=t[32];let O;return t[33]!==S||t[34]!==T||t[35]!==D||t[36]!==v||t[37]!==b?(O=(0,E.jsxs)(`g`,{children:[v,b,S,T,D]}),t[33]=S,t[34]=T,t[35]=D,t[36]=v,t[37]=b,t[38]=O):O=t[38],O}function wf({label:e,copies:t,note:n,ringColor:r,baseId:i}){let a=t.length*ff+(t.length-1)*pf+6;return(0,E.jsxs)(`div`,{className:r?`kt-slot kt-slot--ring`:`kt-slot`,style:r?{"--kt-ring":r}:void 0,children:[(0,E.jsx)(`svg`,{viewBox:`0 0 ${a} ${_f}`,className:`kt-svg`,role:`img`,"aria-label":`Chromosome ${e}${n?`, ${n}`:``}`,children:t.map((t,n)=>(0,E.jsx)(`g`,{transform:`translate(${3+n*16},0)`,children:(0,E.jsx)(Cf,{copy:t,clipId:`${i}-${e}-${n}`})},n))}),(0,E.jsx)(`div`,{className:`kt-label`,children:e}),n&&(0,E.jsx)(`div`,{className:`kt-note`,children:n})]})}function Tf({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,sex:r=`XX`,anomalies:i,highlightPairs:a,footer:o,delay:c}){let u=s[t]??s.layers,d=(0,P.useId)().replace(/[^a-zA-Z0-9_-]/g,``),{slots:f,usedKinds:p}=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).filter(e=>e&&e.kind in vf).slice(0,24),t=new Map;for(let n of e)t.set(bf(n.pair),n);let n=new Set((Array.isArray(a)?a:[]).map(e=>bf(e))),o=(e,r)=>{let i=t.get(e),a=r.map(e=>({id:e,mark:null}));if(i){let t=e===`sexslot`?i.pair&&bf(i.pair)||`X`:e;i.kind===`trisomy`?a.push({id:t,mark:null}):i.kind===`monosomy`?a=a.slice(0,Math.max(1,a.length-1)):a.length&&(a[a.length-1].mark=i.kind===`deletion`?`del`:`dup`)}return s(e,a,i,n)};function s(e,t,n,r){let i=e===`sexslot`,a=i?t.map(e=>e.id).join(``)||`XY`:e,o=i?r.has(`X`)||r.has(`Y`):r.has(e);return{key:e,label:a,copies:t,ringColor:n?vf[n.kind]:o?`var(--presence)`:null,note:n?`${yf[n.kind]} ${n.note?`· ${n.note}`:``}`.trim():void 0}}let c=t.get(`X`)??t.get(`Y`);c&&t.set(`sexslot`,c);let l=[];for(let e=1;e<=22;e++)l.push(o(String(e),[String(e),String(e)]));return l.push(o(`sexslot`,r===`XY`?[`X`,`Y`]:[`X`,`X`])),{slots:l,usedKinds:[...new Set(e.map(e=>e.kind))]}},[r,i,a]);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${c??0}ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(u,{className:`ic`,style:{color:n}}),` `,(0,E.jsx)(`span`,{children:e})]}),(0,E.jsx)(`div`,{className:`kt-grid`,children:f.map(e=>(0,E.jsx)(wf,{label:e.label,copies:e.copies,note:e.note,ringColor:e.ringColor,baseId:d},e.key))}),p.length>0&&(0,E.jsx)(`ul`,{className:`kt-legend`,"aria-label":`Anomaly key`,children:p.map(e=>(0,E.jsxs)(`li`,{className:`kt-leg`,children:[(0,E.jsx)(`span`,{className:`kt-leg-dot`,style:{background:vf[e]}}),yf[e]]},e))}),o&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(o)})]})}function Ef(e){return Array.isArray(e)?e.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.label??t.name??t.value;return typeof n==`string`?n:``}return``}).map(e=>e.trim()).filter(Boolean):[]}function Df({label:e,accent:t,children:n}){return(0,E.jsxs)(`section`,{className:`frm-panel`,style:{"--frm-accent":t},children:[(0,E.jsx)(`h4`,{className:`frm-panel-label`,children:e}),(0,E.jsx)(`div`,{className:`frm-panel-body`,children:n})]})}function Of(e){let t=(0,F.c)(5),{items:n}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,E.jsx)(`p`,{className:`frm-muted`,children:`—`}),t[0]=e):e=t[0],e}let r;t[1]===n?r=t[2]:(r=n.map(kf),t[1]=n,t[2]=r);let i;return t[3]===r?i=t[4]:(i=(0,E.jsx)(`ul`,{className:`frm-list`,children:r}),t[3]=r,t[4]=i),i}function kf(e,t){return(0,E.jsx)(`li`,{children:e},t)}function Af({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,term:r,pronunciation:i,definition:a,characteristics:o,examples:c,nonexamples:u,footer:d,delay:f}){let p=s[t]??s.edit,m=Ef(o),h=Ef(c),g=Ef(u),_=typeof a==`string`?a.trim():``,v=typeof r==`string`&&r.trim()?r:`Term`,y=typeof i==`string`&&i.trim()?i:``;return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${f??0}ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(p,{className:`ic`,style:{color:n}}),` `,(0,E.jsx)(`span`,{children:e})]}),(0,E.jsxs)(`div`,{className:`frm-term`,children:[(0,E.jsx)(`span`,{className:`frm-term-word`,children:v}),y&&(0,E.jsx)(`span`,{className:`frm-term-pron`,children:y})]}),(0,E.jsxs)(`div`,{className:`frm-grid`,children:[(0,E.jsx)(Df,{label:`Definition`,accent:`var(--presence)`,children:_?(0,E.jsx)(`p`,{className:`frm-def`,children:_}):(0,E.jsx)(`p`,{className:`frm-muted`,children:`—`})}),(0,E.jsx)(Df,{label:`Characteristics`,accent:`var(--insight)`,children:(0,E.jsx)(Of,{items:m})}),(0,E.jsx)(Df,{label:`Examples`,accent:`var(--presence-deep)`,children:(0,E.jsx)(Of,{items:h})}),(0,E.jsx)(Df,{label:`Non-examples`,accent:`var(--warning)`,children:(0,E.jsx)(Of,{items:g})})]}),d&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:l(d)})]})}var jf=300,Mf=40,Nf=30,Pf=132,Ff=[`var(--insight)`,`var(--warning)`,`var(--presence-deep)`,`var(--insight-soft)`];function If(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()){let t=parseFloat(e);return Number.isFinite(t)?t:null}return null}function Lf({cx:e,cy:t,r:n,value:r,accent:i,delay:a}){let o=r!==null,s=y(o?r:0,{duration:800,delay:a});return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:e,cy:t,r:n,className:o?`nb-circle`:`nb-circle nb-circle--open`,style:{"--nb-accent":i}}),(0,E.jsx)(`text`,{x:e,y:t,className:o?`nb-num`:`nb-num nb-unknown`,textAnchor:`middle`,dominantBaseline:`central`,style:o?void 0:{"--glow-color":i},children:o?s:`?`})]})}function Rf({title:e,icon:t=`plus`,iconColor:n=`var(--presence)`,whole:r,parts:i,factFamily:a=!1,label:o,footer:c,delay:u}){let d=s[t]??s.plus,{wholeVal:f,partVals:p,facts:m}=(0,P.useMemo)(()=>{let e=If(r),t=(Array.isArray(i)?i:[]).slice(0,4).map(If);for(;t.length<2;)t.push(null);let n=t.filter(e=>e!==null),o=[];if(a&&e!==null&&t.length===2&&n.length===2&&n[0]+n[1]===e){let[t,r]=n;o=[`${t} + ${r} = ${e}`,`${r} + ${t} = ${e}`,`${e} − ${t} = ${r}`,`${e} − ${r} = ${t}`]}return{wholeVal:e,partVals:t,facts:o}},[r,i,a]),h=p.length,g=h>=4?22:h===3?25:28,_=Pf+g+8,v=jf/2,y=18+g,b=e=>h===1?jf/2:y+e*(jf-2*y)/(h-1);return(0,E.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${u??0}ms`},children:[e&&(0,E.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,E.jsx)(d,{className:`ic`,style:{color:n}}),` `,(0,E.jsx)(`span`,{children:e})]}),(0,E.jsx)(`div`,{className:`nb-wrap`,children:(0,E.jsxs)(`svg`,{viewBox:`0 0 ${jf} ${_}`,className:`nb-svg`,role:`img`,"aria-label":e||`Number bond`,children:[p.map((e,t)=>(0,E.jsx)(`line`,{x1:v,y1:55,x2:b(t),y2:Pf-g*.5,className:`nb-link`},`ln${t}`)),(0,E.jsx)(Lf,{cx:v,cy:Mf,r:Nf,value:f,accent:`var(--presence)`,delay:u??0}),p.map((e,t)=>(0,E.jsx)(Lf,{cx:b(t),cy:Pf,r:g,value:e,accent:Ff[t%Ff.length],delay:(u??0)+120+t*90},`p${t}`))]})}),typeof o==`string`&&o.trim()&&(0,E.jsx)(`p`,{className:`nb-label`,children:o}),m.length>0&&(0,E.jsx)(`div`,{className:`nb-facts`,"aria-label":`Fact family`,children:m.map((e,t)=>(0,E.jsx)(`span`,{className:`nb-fact`,children:e},t))}),c&&(0,E.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:l(c)})]})}var zf=e({learnRegistry:()=>Bf}),Bf={equationblock:b(Me),numberline:b(ze),workedexample:b(Ve),quiz:b(S),flashcard:b(He),molecularstructure:(e,t)=>(0,E.jsx)(et,{...e,delay:t.delay}),periodictable:b(rt),bodymap:b(ft),geometrycanvas:b(Tt),freebodydiagram:b(Lt),musicstaff:b(en),vectorspace:b(sn),reactionmechanism:b(cn),chorddiagram:b(fn),developmentmilestone:b(hn),teachdiagram:(e,t)=>(0,E.jsx)(jn,{...e,delay:t.delay,spotlight:t.spotlight,blockId:t.blockId}),gridmatrix:b(zn),fractionbar:b(Jn),wave:b(or),energydiagram:b(_r),phylotree:b(Ir),parsetree:b($r),celldiagram:b(ui),raydiagram:b(Ti),vectorfield:b(Ri),pedigree:b(Yi),bohrmodel:b(ua),equationbalancer:b(ga),yieldcalc:b(ba),vseprmolecule:b(Ma),unitcircle:b(Wa),solidfigure:b(Za),crosssection:b(mo),pianokeys:b(Mo),fretboardmap:b(Uo),circleoffifths:b(es),odontogram:b(ps),clockface:b(Cs),moneytray:b(As),placevaluechart:b(Ns),shapecard:b(Us),letterform:b(ec),toolscale:b(lc),craftchart:b(mc),dnahelix:b(jc),linespectrum:b(Uc),pyramidtiers:b(nl),twocolumnproof:b(rl),gridtransform:b(Tl),areamodel:b(kl),polarplot:b(Kl),taylorseries:b(au),phaseportrait:b(yu),sightwordlist:b(Cu),alphabetchart:b(Du),columnarithmetic:b(Pu),titrationcurve:b(Vu),interferencepattern:b(td),orbitaldiagram:b(ad),pictograph:b(fd),particlemodel:b(Td),morphemebreakdown:b(Od),energybarchart:b(qd),guitartab:b(cf),karyotype:b(Tf),frayermodel:b(Af),numberbond:b(Rf),practicelog:b(Ee),taxonrank:b(_e),numbersequence:b(fe),constantcard:b(oe),elementcard:b(N)};export{zf as n,Bf as t};
|