@mavea/mavea 1.2.0 → 1.2.1

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.
Files changed (86) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/.vite/manifest.json +298 -298
  3. package/dist/assets/{AnnotationLayer-qV6CIUZv.js → AnnotationLayer-8JABh1Dm.js} +0 -0
  4. package/dist/assets/{AppCommandPalette-BHaYBZ5e.js → AppCommandPalette-CgDUWU08.js} +1 -1
  5. package/dist/assets/{CheckLogRail-DkHIHL0E.js → CheckLogRail-DO7sbZwC.js} +1 -1
  6. package/dist/assets/{ConversationVideoStudio-C1sd4k53.js → ConversationVideoStudio-tpqQQnOs.js} +1 -1
  7. package/dist/assets/{CourseLessonReader-YCcNKEW7.js → CourseLessonReader-PFJn-4tj.js} +2 -2
  8. package/dist/assets/{CoursesApp-Dz6xjf4V.js → CoursesApp-5pnHYJR8.js} +1 -1
  9. package/dist/assets/{DashPresent-5SRScC2i.js → DashPresent-B6MP1i_4.js} +1 -1
  10. package/dist/assets/{DashboardDetail-DOfm8UCQ.js → DashboardDetail-DYFghZ4p.js} +1 -1
  11. package/dist/assets/{DashboardLoopGate-Cf0y_HQ7.js → DashboardLoopGate-C0blM1w9.js} +2 -2
  12. package/dist/assets/DashboardLoopRuntime-C9R-z9-o.js +1 -0
  13. package/dist/assets/{DashboardsApp-_gbfdbX6.js → DashboardsApp-Dh_jh1dF.js} +2 -2
  14. package/dist/assets/{DeepZoomApp-BOLEl-kQ.js → DeepZoomApp-UEPtylG7.js} +1 -1
  15. package/dist/assets/{DelegatePanel-CHEB-OZl.js → DelegatePanel-DKWsRY9I.js} +1 -1
  16. package/dist/assets/{DemoGallery-DBqnu8TR.js → DemoGallery-CkuqAXje.js} +1 -1
  17. package/dist/assets/{DropSelect-DjbdVfIR.js → DropSelect-QcBm3N4D.js} +1 -1
  18. package/dist/assets/{ExportModal-CLobMv1F.js → ExportModal-Ya0VBbxa.js} +1 -1
  19. package/dist/assets/{ExtractionPreview-QZ2VHmsb.js → ExtractionPreview-BFrmqKDo.js} +1 -1
  20. package/dist/assets/{FeatureUseNotice-Dc8joBGM.js → FeatureUseNotice-Dc3GNBvy.js} +1 -1
  21. package/dist/assets/{FlagshipCommandPalette-DnWuBjYI.js → FlagshipCommandPalette-B1yHwI6V.js} +1 -1
  22. package/dist/assets/{FlagshipShowcase-3qQDOK6g.js → FlagshipShowcase-BHAlRDAE.js} +1 -1
  23. package/dist/assets/{FlashcardsApp-BQGM-Tr1.js → FlashcardsApp-DteNeHpz.js} +1 -1
  24. package/dist/assets/{GalleryApp-BWQ-J450.js → GalleryApp-DziLKFJZ.js} +1 -1
  25. package/dist/assets/{HonestByDesign-57LDf-gm.js → HonestByDesign-DZltb3Ss.js} +1 -1
  26. package/dist/assets/{HowItWorks-DMfPX3GK.js → HowItWorks-D-hgfN6a.js} +1 -1
  27. package/dist/assets/{LegalApp-CcO5Qq6R.js → LegalApp-ChzcKiY0.js} +1 -1
  28. package/dist/assets/{LegalMarkdownDocument-Be_fQbZ_.js → LegalMarkdownDocument-j6UHhPnp.js} +1 -1
  29. package/dist/assets/{LegalPageShell-B-HY1WG7.js → LegalPageShell-Wcsviye1.js} +1 -1
  30. package/dist/assets/{LibraryOverlay-BilW6q_z.js → LibraryOverlay-YHBrdVKo.js} +1 -1
  31. package/dist/assets/{LiveApp-DH3OxJFV.js → LiveApp-D6vkyhZb.js} +3 -3
  32. package/dist/assets/{LiveSettings-CuVMy7rZ.js → LiveSettings-C9cKOrSb.js} +1 -1
  33. package/dist/assets/{PinToDashboard-Cz5UJCmq.js → PinToDashboard-BCiWaSg8.js} +1 -1
  34. package/dist/assets/{PlanReview-CmUxzNqL.js → PlanReview-BIERfK1t.js} +1 -1
  35. package/dist/assets/{PresentationDeck-B_EI33Pp.js → PresentationDeck-BW_7qecK.js} +1 -1
  36. package/dist/assets/{PrismApp-DtLsPiQF.js → PrismApp-BY71jJvW.js} +2 -2
  37. package/dist/assets/{PrismBriefingPlayer-DzdtnFj4.js → PrismBriefingPlayer-DLAPs6eZ.js} +2 -2
  38. package/dist/assets/{PrismOverlay-D1cDZamt.js → PrismOverlay-DJDGPGxo.js} +3 -3
  39. package/dist/assets/{PrismWorkbench-BEIp4MiL.js → PrismWorkbench-DHLvpguj.js} +1 -1
  40. package/dist/assets/{PrivacyApp-B4DT2RUz.js → PrivacyApp-uMjq2z14.js} +1 -1
  41. package/dist/assets/{ReplayCard-Dx46HCBT.js → ReplayCard-F7U3LYAg.js} +2 -2
  42. package/dist/assets/{ReplayOverlay-CnJAxf0u.js → ReplayOverlay-BTldvkU7.js} +1 -1
  43. package/dist/assets/{RippleApp-D5j2VCt2.js → RippleApp-DZw8op-E.js} +2 -2
  44. package/dist/assets/{RippleOverlay-zcXAHPuJ.js → RippleOverlay-D7ItTvS-.js} +2 -2
  45. package/dist/assets/{SeeDontRead-Dqfzha0V.js → SeeDontRead-DmmtWAzn.js} +1 -1
  46. package/dist/assets/{ShareModal-DWxlrJSz.js → ShareModal-9jSn52Mw.js} +2 -2
  47. package/dist/assets/{ShipCourse-BavQppkt.js → ShipCourse-Up9gRR07.js} +1 -1
  48. package/dist/assets/{SignatureLoop-L8W2h62w.js → SignatureLoop-Cq790dMw.js} +1 -1
  49. package/dist/assets/{SynthesisApp-C2O6pFeM.js → SynthesisApp-4ZPLZgmJ.js} +2 -2
  50. package/dist/assets/{SynthesisOverlay-DLvwiSMv.js → SynthesisOverlay-iesJ0hEt.js} +1 -1
  51. package/dist/assets/{TermsApp-CxY1yorm.js → TermsApp-DL2hFKsv.js} +1 -1
  52. package/dist/assets/{TopicCanvas-LMI0zC7R.js → TopicCanvas-DozfZFto.js} +2 -2
  53. package/dist/assets/{TourPrism-CI-iJZil.js → TourPrism-kInUOv-M.js} +1 -1
  54. package/dist/assets/{TrackerTile-oz6IoG8m.js → TrackerTile-BryDo0sm.js} +2 -2
  55. package/dist/assets/{TwoSurfaces-Rnf-_WgY.js → TwoSurfaces-Cmj95ofx.js} +1 -1
  56. package/dist/assets/{WorldOverlay-BaQNNClA.js → WorldOverlay-yhxq328s.js} +1 -1
  57. package/dist/assets/{WowFeatures-C4efSbNV.js → WowFeatures-DDICbxl_.js} +1 -1
  58. package/dist/assets/{ZoomDeck-CBrr0yfy.js → ZoomDeck-CKOjYS9z.js} +1 -1
  59. package/dist/assets/canvas-vqIFVmtP.js +1 -0
  60. package/dist/assets/{capture-D8uPIcfj.js → capture-9OrAc1p2.js} +1 -1
  61. package/dist/assets/{confirmAdd-DzMO9jKV.js → confirmAdd-DkmbWaSk.js} +1 -1
  62. package/dist/assets/{dashboardEvents-DKl5rrTD.js → dashboardEvents-D-XVj666.js} +1 -1
  63. package/dist/assets/{generateBeats-DZHkvFvh.js → generateBeats-DtptFLlG.js} +1 -1
  64. package/dist/assets/{index-DmKgC_TJ.css → index-DrzNHwlO.css} +1 -1
  65. package/dist/assets/{index-Dk0QapqQ.js → index-zIa6h_8b.js} +3 -3
  66. package/dist/assets/{kokoro-P_fkcX-A.js → kokoro-B3oG_8sd.js} +1 -1
  67. package/dist/assets/{loader-DKJEcbPm.js → loader-DCA6Njbf.js} +2 -2
  68. package/dist/assets/{notes-B0-EE0FK.js → notes-B6eX5XWk.js} +1 -1
  69. package/dist/assets/{perfProbe-B9zJpjo9.js → perfProbe-CE7hsUEo.js} +1 -1
  70. package/dist/assets/{pin-CZAIlpXt.js → pin-BZuh1acO.js} +1 -1
  71. package/dist/assets/{portal-Dogggsub.js → portal-k_BMgWND.js} +1 -1
  72. package/dist/assets/{prewarm-B4ELBOxf.js → prewarm-uKxmzjjd.js} +1 -1
  73. package/dist/assets/{quietHours-CeBje_uU.js → quietHours-DI1ayIIq.js} +1 -1
  74. package/dist/assets/{registry-GeAC3ZD7.js → registry-1wlTAh5b.js} +1 -1
  75. package/dist/assets/{registry-CqhpLHM7.js → registry-B2QzCuWH.js} +1 -1
  76. package/dist/assets/{registry-CD1s3eQ-.js → registry-DtV2UjBx.js} +1 -1
  77. package/dist/assets/{registry-6MOD-I7p.js → registry-Dwbh-GWu.js} +1 -1
  78. package/dist/assets/{relate-BYdM5eiV.js → relate-UW-sUlJH.js} +1 -1
  79. package/dist/assets/{replay-TYXO0Brm.js → replay-B5TkHPri.js} +1 -1
  80. package/dist/assets/{useDashboardLoop-DDqCFJKY.js → useDashboardLoop-BoVNM-pT.js} +1 -1
  81. package/dist/assets/{useStudy-GwNcQWtv.js → useStudy-5CsF_L-s.js} +1 -1
  82. package/dist/assets/{walkSync-CPsd-xu7.js → walkSync-CT8kmbzY.js} +1 -1
  83. package/dist/index.html +2 -2
  84. package/package.json +1 -1
  85. package/dist/assets/DashboardLoopRuntime-CnN5VayH.js +0 -1
  86. package/dist/assets/canvas-Bsx3eSaS.js +0 -1
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{t as r}from"./jsx-runtime-DeHZSEgm.js";import{n as i}from"./icons-gLFQTv74.js";import{t as a}from"./richText-BkxJhl9N.js";import{t as o}from"./safeImageUrl-BINWXOTz.js";import{r as s}from"./lib-B7OE1ZQQ.js";import{t as c}from"./registry-types-D3q_LrlV.js";import{r as l,s as u,t as d}from"./kokoro-P_fkcX-A.js";import{t as f}from"./safeCssColor-di93BXgG.js";var p=t(),m=r(),h=480,g=90,_=240,v=390,y=120,b=38,x=14;function S(e){let t=e.toLowerCase();return t.includes(`proto`)||t.includes(`pie`)||t.includes(`indo`)?`var(--text-muted)`:t.includes(`latin`)||t.includes(`greek`)||t.includes(`ancient`)?`var(--presence)`:t.includes(`french`)||t.includes(`romance`)||t.includes(`spanish`)||t.includes(`italian`)?`var(--insight)`:t.includes(`german`)||t.includes(`dutch`)||t.includes(`nordic`)||t.includes(`norse`)?`var(--warning)`:t.includes(`arabic`)||t.includes(`persian`)||t.includes(`sanskrit`)?`var(--danger)`:`var(--text-secondary)`}var C=18,w=22;function T(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function E({word:e,roots:t,descendants:n,note:r,footer:i,delay:o}){let{vbH:s,wordY:c,wordCY:l,rootBoxes:u,descBoxes:d}=(0,p.useMemo)(()=>{let e=t??[],r=n??[],i=e.length,a=r.length,o=Math.max(i,a,1)*52-x+32+12,s=Math.max(o,120),c=s/2,l=c-b/2,u=c-(i*52-(i>0?x:0))/2,d=e.map((e,t)=>({r:e,x:g-y/2,y:u+t*52,cy:u+t*52+b/2,color:S(e.lang)})),f=c-(a*52-(a>0?x:0))/2;return{vbH:s,wordY:l,wordCY:c,rootBoxes:d,descBoxes:r.map((e,t)=>({d:e,x:v-y/2,y:f+t*52,cy:f+t*52+b/2,color:S(e.lang??``)}))}},[t,n]),f=(e,t,n,r)=>{let i=(e+n)/2;return`M ${e.toFixed(1)},${t.toFixed(1)} C ${i.toFixed(1)},${t.toFixed(1)} ${i.toFixed(1)},${r.toFixed(1)} ${n.toFixed(1)},${r.toFixed(1)}`};return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o??0)+`ms`},children:[(0,m.jsx)(`div`,{className:`et-wrap`,children:(0,m.jsxs)(`svg`,{className:`et-svg`,viewBox:`0 0 ${h} ${s}`,role:`img`,"aria-label":`Etymology of "${e}"`,preserveAspectRatio:`xMidYMid meet`,children:[u.map((e,t)=>(0,m.jsx)(`path`,{d:f(150,e.cy,_-y/2,l),fill:`none`,stroke:e.color,strokeWidth:`1.5`,opacity:`0.75`},`rc${t}`)),d.map((e,t)=>(0,m.jsx)(`path`,{d:f(300,l,v-y/2,e.cy),fill:`none`,stroke:e.color,strokeWidth:`1.5`,opacity:`0.75`},`dc${t}`)),u.map(({r:e,x:t,y:n,cy:r,color:i},a)=>{let o=e.lang+(e.gloss?` · ${e.gloss}`:``);return(0,m.jsxs)(`g`,{children:[(0,m.jsx)(`rect`,{x:t,y:n,width:y,height:b,rx:6,className:`et-box`,style:{stroke:i}}),(0,m.jsxs)(`text`,{x:g,y:r-7,textAnchor:`middle`,className:`et-form`,children:[e.form.length>C&&(0,m.jsx)(`title`,{children:e.form}),T(e.form,C)]}),(0,m.jsxs)(`text`,{x:g,y:r+9,textAnchor:`middle`,className:`et-lang`,style:{fill:i},children:[o.length>w&&(0,m.jsx)(`title`,{children:o}),T(o,w)]})]},`r${a}`)}),(0,m.jsx)(`rect`,{x:_-y/2,y:c,width:y,height:b,rx:8,className:`et-word-box`}),(0,m.jsx)(`text`,{x:_,y:l+5,textAnchor:`middle`,className:`et-word`,children:e}),d.map(({d:e,x:t,y:n,cy:r,color:i},a)=>{let o=e.lang?`${e.lang}${e.gloss?` · ${e.gloss}`:``}`:e.gloss??``;return(0,m.jsxs)(`g`,{children:[(0,m.jsx)(`rect`,{x:t,y:n,width:y,height:b,rx:6,className:`et-box`,style:{stroke:i}}),(0,m.jsxs)(`text`,{x:v,y:r-7,textAnchor:`middle`,className:`et-form`,children:[e.form.length>C&&(0,m.jsx)(`title`,{children:e.form}),T(e.form,C)]}),(0,m.jsxs)(`text`,{x:v,y:r+9,textAnchor:`middle`,className:`et-lang`,style:{fill:i},children:[o.length>w&&(0,m.jsx)(`title`,{children:o}),T(o,w)]})]},`d${a}`)}),(0,m.jsx)(`text`,{x:g,y:12,textAnchor:`middle`,className:`et-col-hdr`,children:`Roots`}),d.length>0&&(0,m.jsx)(`text`,{x:v,y:12,textAnchor:`middle`,className:`et-col-hdr`,children:`Descendants`})]})}),r&&(0,m.jsx)(`div`,{className:`et-note`,children:r}),i&&(0,m.jsx)(`div`,{className:`insight-summary`,dangerouslySetInnerHTML:a(i),style:{marginTop:12}})]})}function D({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,subject:r,tagline:o,facts:s,body:c,footer:l,delay:u}){let d=i[t]??i.doc,f=s??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`fs-subject`,children:r}),o&&(0,m.jsx)(`div`,{className:`fs-tagline`,children:o}),f.length>0&&(0,m.jsx)(`div`,{className:`fs-facts`,children:f.map((e,t)=>(0,m.jsxs)(`div`,{className:`fs-row`,children:[(0,m.jsx)(`span`,{className:`fs-label`,children:e.label}),(0,m.jsxs)(`span`,{className:`fs-value`,...t===0?{"data-mark":`underline`}:{},children:[e.value,e.note&&(0,m.jsxs)(`span`,{className:`fs-note`,children:[` `,e.note]})]})]},t))}),c&&(0,m.jsx)(`div`,{className:`fs-body`,dangerouslySetInnerHTML:a(c)}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var O=n(),k={flammable:`Flammable`,corrosive:`Corrosive`,toxic:`Toxic`,irritant:`Irritant`,oxidizer:`Oxidizer`,healthHazard:`Health hazard`,environment:`Environment`,explosive:`Explosive`,compressedGas:`Compressed gas`},ee=`12,1.6 22.4,12 12,22.4 1.6,12`,te={flammable:()=>(0,m.jsx)(`path`,{className:`ghs-symbol-fill`,d:`M12 6c1.9 2.4 2.9 4.2 2.9 6a2.9 2.9 0 0 1-5.8 0c0-.7.15-1.3.45-1.85-.05.5.1.9.5 1.15-.15-1.7.3-3.4 1.95-5.3Z`}),corrosive:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`line`,{x1:`5.6`,y1:`13.4`,x2:`18.4`,y2:`13.4`}),(0,m.jsx)(`path`,{d:`M9 6.6v3.6q0 1.7-1.1 3.2`}),(0,m.jsx)(`path`,{d:`M15 6.6v3.6q0 1.7 1.1 3.2`}),(0,m.jsx)(`path`,{d:`M7.6 15.4q.6 1.2 0 2.4`}),(0,m.jsx)(`path`,{d:`M16.4 15.4q.6 1.4-.2 2.6`})]}),toxic:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`10.1`,r:`3.15`}),(0,m.jsx)(`circle`,{className:`ghs-symbol-fill`,cx:`10.6`,cy:`9.8`,r:`0.55`}),(0,m.jsx)(`circle`,{className:`ghs-symbol-fill`,cx:`13.4`,cy:`9.8`,r:`0.55`}),(0,m.jsx)(`path`,{d:`M10.6 12.3q1.4 1 2.8 0`}),(0,m.jsx)(`path`,{d:`M8.1 17.1 15.9 13.7`}),(0,m.jsx)(`path`,{d:`M8.1 13.7 15.9 17.1`})]}),irritant:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol-fill`,children:[(0,m.jsx)(`rect`,{x:`11.05`,y:`6.4`,width:`1.9`,height:`6.6`,rx:`0.95`}),(0,m.jsx)(`circle`,{cx:`12`,cy:`15.9`,r:`1.1`})]}),oxidizer:()=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`circle`,{className:`ghs-symbol`,cx:`12`,cy:`15.1`,r:`3.05`}),(0,m.jsx)(`path`,{className:`ghs-symbol-fill`,d:`M12 6c1.5 2 2.3 3.5 2.3 5a2.3 2.3 0 0 1-4.6 0c0-.55.1-1 .3-1.45-.05.4.1.7.4.9-.1-1.35.35-2.7 1.6-4.45Z`})]}),healthHazard:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`7.5`,r:`1.75`}),(0,m.jsx)(`path`,{d:`M8.3 17c.1-3.15 1.7-5.1 3.7-5.1s3.6 1.95 3.7 5.1`}),(0,m.jsx)(`path`,{d:`M12 12.6v3.4`}),(0,m.jsx)(`path`,{d:`M10.5 14.3h3`}),(0,m.jsx)(`path`,{d:`M10.8 13.15l2.4 2.4`}),(0,m.jsx)(`path`,{d:`M13.2 13.15l-2.4 2.4`})]}),environment:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`path`,{d:`M8.7 7.4v6.2`}),(0,m.jsx)(`path`,{d:`M8.7 9.7 7 8.2`}),(0,m.jsx)(`path`,{d:`M8.7 8.9l1.9-1.6`}),(0,m.jsx)(`path`,{d:`M8.7 11.7 7 13`}),(0,m.jsx)(`path`,{d:`M6 15.9c1.35.85 2.85.85 4.2 0`}),(0,m.jsx)(`path`,{d:`M13.6 15.9c1.35.85 2.85.85 4.2 0`}),(0,m.jsx)(`path`,{className:`ghs-symbol-fill`,d:`M14.9 12.6c1.7-.35 3.05.2 3.7 1.15-.7.95-2.1 1.5-3.7 1.15.35-.5.35-1.8 0-2.3Z`})]}),explosive:()=>(0,m.jsxs)(`g`,{children:[(0,m.jsx)(`circle`,{className:`ghs-symbol-fill`,cx:`12`,cy:`12`,r:`1.55`}),(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`path`,{d:`M12 6.5v2.3`}),(0,m.jsx)(`path`,{d:`M12 15.2v2.3`}),(0,m.jsx)(`path`,{d:`M6.5 12h2.3`}),(0,m.jsx)(`path`,{d:`M15.2 12h2.3`}),(0,m.jsx)(`path`,{d:`M8.3 8.3l1.6 1.6`}),(0,m.jsx)(`path`,{d:`M14.1 14.1l1.6 1.6`}),(0,m.jsx)(`path`,{d:`M15.7 8.3l-1.6 1.6`}),(0,m.jsx)(`path`,{d:`M9.9 14.1l-1.6 1.6`})]})]}),compressedGas:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`rect`,{x:`9.3`,y:`9.1`,width:`5.4`,height:`8.4`,rx:`1.3`}),(0,m.jsx)(`rect`,{x:`10.55`,y:`6.35`,width:`2.9`,height:`2.4`,rx:`0.5`}),(0,m.jsx)(`line`,{x1:`9.6`,y1:`12.6`,x2:`14.4`,y2:`12.6`})]})};function ne(e){let t=(0,O.c)(7),{kind:n,className:r}=e,i=te[n],a=k[n],o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,m.jsx)(`polygon`,{className:`ghs-diamond`,points:ee}),t[0]=o):o=t[0];let s;t[1]===i?s=t[2]:(s=(0,m.jsx)(i,{}),t[1]=i,t[2]=s);let c;return t[3]!==r||t[4]!==a||t[5]!==s?(c=(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,role:`img`,"aria-label":a,className:r,children:[o,s]}),t[3]=r,t[4]=a,t[5]=s,t[6]=c):c=t[6],c}function re({title:e,icon:t=`alert`,iconColor:n=`var(--danger)`,cas:r,signalWord:o,pictograms:s,hazards:c,precautions:l,footer:u,delay:d}){let f=i[t]??i.alert,p=o===`Warning`,h=p?`var(--warning)`:`var(--danger)`,g=(s??[]).filter(e=>e in k),_=c??[],v=l??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,m.jsxs)(`div`,{className:`hc-cas`,children:[`CAS `,r]}),(0,m.jsxs)(`div`,{className:`hc-signal`,style:{"--hc-c":h},role:`status`,children:[(0,m.jsx)(`span`,{className:`hc-signal-icon`,children:(0,m.jsx)(i.alert,{})}),(0,m.jsx)(`span`,{className:`hc-signal-word`,children:p?`Warning`:`Danger`})]}),g.length>0&&(0,m.jsx)(`div`,{className:`hc-pictograms`,children:g.map((e,t)=>(0,m.jsxs)(`div`,{className:`hc-pic m-stagger-item m-scale-in`,style:{"--i":t},children:[(0,m.jsx)(ne,{kind:e,className:`hc-pic-glyph`}),(0,m.jsx)(`span`,{className:`hc-pic-label`,children:k[e]})]},t))}),_.length>0&&(0,m.jsxs)(`div`,{className:`hc-section`,children:[(0,m.jsx)(`div`,{className:`hc-section-label`,children:`Hazards`}),(0,m.jsx)(`div`,{className:`hc-codes`,children:_.map((e,t)=>(0,m.jsxs)(`div`,{className:`hc-code-row m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`hc-code`,children:e.code}),(0,m.jsx)(`span`,{className:`hc-code-text`,children:e.text})]},t))})]}),v.length>0&&(0,m.jsxs)(`div`,{className:`hc-section`,children:[(0,m.jsx)(`div`,{className:`hc-section-label`,children:`Precautions`}),(0,m.jsx)(`div`,{className:`hc-codes`,children:v.map((e,t)=>(0,m.jsxs)(`div`,{className:`hc-code-row m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`hc-code`,children:e.code}),(0,m.jsx)(`span`,{className:`hc-code-text`,children:e.text})]},t))})]}),u&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}function ie({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,topic:r,asOf:o,items:s,footer:c,delay:l}){let u=i[t]??i.globe,d=s??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`nd-meta`,children:[r&&(0,m.jsx)(`span`,{className:`nd-topic`,children:r}),(0,m.jsx)(`span`,{className:`nd-asof`,children:o})]}),(0,m.jsx)(`div`,{className:`nd-items`,children:d.map((e,t)=>(0,m.jsxs)(`div`,{className:`nd-item`,children:[(0,m.jsx)(`div`,{className:`nd-headline`,...t===0?{"data-mark":`underline`}:{},children:e.headline}),(e.source||e.time||e.category)&&(0,m.jsxs)(`div`,{className:`nd-item-meta`,children:[e.source&&(0,m.jsx)(`span`,{className:`nd-source`,children:e.source}),e.time&&(0,m.jsx)(`span`,{className:`nd-time`,children:e.time}),e.category&&(0,m.jsx)(`span`,{className:`nd-cat`,children:e.category})]}),e.summary&&(0,m.jsx)(`div`,{className:`nd-summary`,children:e.summary})]},t))}),c&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}function ae({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,fromLang:r,toLang:o,text:c,result:l,pairs:u,footer:d,delay:f}){let p=i[t]??i.globe,h=u??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`tl-langs`,children:[(0,m.jsx)(`span`,{className:`tl-from`,children:r}),(0,m.jsx)(`span`,{className:`tl-arrow`,children:`→`}),(0,m.jsx)(`span`,{className:`tl-to`,children:o})]}),(0,m.jsxs)(`div`,{className:`tl-pair`,children:[(0,m.jsx)(`div`,{className:`tl-source`,children:(0,m.jsx)(`div`,{className:`tl-text`,style:{color:`var(--text-secondary)`},children:c})}),(0,m.jsx)(`div`,{className:`tl-result`,children:(0,m.jsx)(`div`,{className:`tl-text`,style:{fontWeight:600},"data-mark":`underline`,children:l})})]}),(0,m.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,marginTop:6},children:(0,m.jsx)(s,{text:l,label:`Copy ${o} translation`})}),h.length>0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{style:{fontSize:`var(--fs-xs, 11px)`,fontWeight:700,color:`var(--text-muted)`,textTransform:`uppercase`,letterSpacing:`0.07em`,marginTop:14,marginBottom:4},children:`Breakdown`}),(0,m.jsx)(`div`,{className:`tl-breakdowns`,children:h.map((e,t)=>(0,m.jsxs)(`div`,{className:`tl-bp`,children:[(0,m.jsx)(`span`,{className:`tl-bp-orig`,children:e.original}),(0,m.jsxs)(`span`,{className:`tl-bp-trans`,children:[e.translated,e.note&&(0,m.jsx)(`span`,{className:`tl-bp-note`,style:{display:`block`,marginTop:2},children:e.note})]})]},t))})]}),d&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}function oe({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,word:r,ipa:o,syllables:s,tips:c,footer:l,delay:u}){let d=i[t]??i.doc,f=c??[],p=(()=>{if(!s)return[];let e=s.split(`·`);if(!o)return e.map(e=>({text:e,stressed:!1}));let t=(()=>{let t=o.indexOf(`ˈ`);if(t===-1)return-1;let n=o.replace(/[/[\]]/g,``),r=t/Math.max(n.length,1);return Math.min(Math.round(r*e.length),e.length-1)})();return e.map((e,n)=>({text:e,stressed:n===t}))})();return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`pr-word`,children:r}),o&&(0,m.jsx)(`div`,{className:`pr-ipa`,style:{display:`inline-block`,fontFamily:`var(--font-mono, monospace)`,fontStyle:`normal`,background:`var(--grid-line)`,borderRadius:`var(--r-sm, 4px)`,padding:`2px 8px`,marginTop:6,fontSize:`var(--fs-sm, 14px)`,color:`var(--text-primary)`,letterSpacing:`0.04em`},children:o}),p.length>0&&(0,m.jsx)(`div`,{className:`pr-syllables`,children:p.map((e,t)=>(0,m.jsxs)(`span`,{children:[t>0&&(0,m.jsx)(`span`,{"aria-hidden":`true`,style:{color:`var(--text-muted)`},children:`·`}),(0,m.jsx)(`span`,{style:e.stressed?{fontWeight:800,color:`var(--presence)`}:{fontWeight:400,color:`var(--text-secondary)`},...e.stressed?{"data-mark":`underline`}:{},children:e.text})]},t))}),f.length>0&&(0,m.jsx)(`div`,{className:`pr-tips`,children:f.map((e,t)=>(0,m.jsx)(`div`,{className:`pr-tip`,children:e},t))}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function se({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,word:r,phonetic:o,senses:s,etymology:c,footer:l,delay:u}){let d=i[t]??i.doc,f=s??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`dc-word`,children:r}),o&&(0,m.jsx)(`div`,{className:`dc-phonetic`,style:{fontFamily:`monospace`,fontStyle:`normal`},children:o}),f.length>0&&(0,m.jsx)(`ol`,{className:`dc-senses`,style:{listStyle:`none`,padding:0,margin:0},children:f.map((e,t)=>(0,m.jsxs)(`li`,{className:`dc-sense`,children:[(0,m.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:4},children:[(0,m.jsxs)(`span`,{style:{fontSize:`var(--fs-xs, 11px)`,fontWeight:700,color:`var(--text-faint)`,minWidth:`1.4em`},children:[t+1,`.`]}),(0,m.jsx)(`span`,{className:`dc-pos`,children:e.pos})]}),(0,m.jsx)(`div`,{className:`dc-def`,style:{paddingLeft:`calc(1.4em + 8px)`},...t===0?{"data-mark":`underline`}:{},children:e.definition}),e.example&&(0,m.jsx)(`div`,{className:`dc-example`,style:{marginLeft:`calc(1.4em + 8px)`},children:e.example}),(e.synonyms??[]).length>0&&(0,m.jsxs)(`div`,{className:`dc-synonyms`,style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:4,marginLeft:`calc(1.4em + 8px)`},children:[(0,m.jsx)(`span`,{style:{color:`var(--text-faint)`,marginRight:2},children:`syn.`}),(e.synonyms??[]).map((e,t)=>(0,m.jsx)(`span`,{style:{fontSize:`var(--fs-xs, 11px)`,padding:`1px 7px`,borderRadius:999,background:`var(--track)`,color:`var(--text-secondary)`,lineHeight:1.7},children:e},t))]})]},t))}),c&&(0,m.jsxs)(`div`,{className:`dc-etymology`,children:[(0,m.jsx)(`span`,{style:{fontWeight:600,fontStyle:`normal`,color:`var(--text-muted)`},children:`Etymology `}),c]}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function ce({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,domain:r,entries:o,footer:s,delay:c}){let l=i[t]??i.doc,u=(0,p.useMemo)(()=>[...o??[]].sort((e,t)=>e.term.localeCompare(t.term,void 0,{sensitivity:`base`})),[o]);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,m.jsx)(`div`,{className:`gl-domain`,children:r}),(0,m.jsx)(`div`,{className:`gl-entries`,children:u.map((e,t)=>{let n=e.term.charAt(0).toUpperCase(),r=n!==(t===0?null:u[t-1].term.charAt(0).toUpperCase());return(0,m.jsxs)(`div`,{children:[r&&(0,m.jsx)(`div`,{className:`gl-letter-divider`,"aria-hidden":`true`,children:n}),(0,m.jsxs)(`div`,{className:`gl-entry`,children:[(0,m.jsx)(`div`,{className:`gl-term`,children:e.term}),(0,m.jsx)(`div`,{className:`gl-def`,children:e.definition}),e.see&&(0,m.jsxs)(`div`,{className:`gl-see`,children:[`See also: `,(0,m.jsx)(`span`,{style:{fontStyle:`italic`},children:e.see})]})]})]},t)})}),s&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}function A({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,value:r,unit:o,comparisons:s,footer:c,delay:l}){let u=i[t]??i.layers,d=s??[],f=e=>{let t=typeof e.howMany==`number`?e.howMany:Number(String(e.howMany).trim());return Number.isFinite(t)&&t>0?t:null},p=d.reduce((e,t)=>{let n=f(t);return n!==null&&n>e?n:e},0);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`scf-figure`,"data-mark":`underline`,children:[(0,m.jsx)(`span`,{className:`scf-value`,children:r}),o&&(0,m.jsx)(`span`,{className:`scf-unit`,children:o})]}),d.length>0&&(0,m.jsx)(`div`,{className:`scf-rows`,children:d.map((e,t)=>{let n=f(e),r=n!==null&&p>0?Math.max(n/p*100,4):0;return(0,m.jsxs)(`div`,{className:`scf-row`,children:[(0,m.jsxs)(`div`,{className:`scf-line`,children:[(0,m.jsx)(`span`,{className:`scf-count`,children:e.howMany}),(0,m.jsx)(`span`,{className:`scf-to`,children:e.to})]}),r>0&&(0,m.jsx)(`div`,{className:`scf-track`,"aria-hidden":`true`,children:(0,m.jsx)(`div`,{className:`scf-bar`,style:{width:r+`%`}})}),e.note&&(0,m.jsx)(`div`,{className:`scf-note`,children:e.note})]},t)})}),c&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var j=typeof window<`u`?window.AudioContext??window.webkitAudioContext:void 0,le={C:0,"C#":1,DB:1,D:2,"D#":3,EB:3,E:4,FB:4,F:5,"E#":5,"F#":6,GB:6,G:7,"G#":8,AB:8,A:9,"A#":10,BB:10,B:11,CB:11};function ue(e){let t=/^([A-Ga-g])([#b]?)(-?\d{1,2})$/.exec(e.trim());if(!t)return null;let n=le[t[1].toUpperCase()+(t[2]===`#`?`#`:t[2]===`b`?`B`:``)];return n===void 0?null:440*2**((n+(Number(t[3])+1)*12-69)/12)}function M(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=e.trim(),n=Number(t);return t!==``&&Number.isFinite(n)?n:ue(t)}var N={word:`chat`,note:`speaker`,tone:`speaker`};function P({title:e,icon:t=`speaker`,iconColor:n=`var(--presence)`,items:r,footer:o,delay:s}){let c=i[t]??i.speaker,f=r??[],[h,g]=(0,p.useState)(null),[_,v]=(0,p.useState)(!1),y=(0,p.useRef)(null),b=(0,p.useRef)(null),x=(0,p.useCallback)(()=>{if(b.current!==null&&(clearTimeout(b.current),b.current=null),y.current){let e=y.current;y.current=null,e.close().catch(()=>{})}d()},[]);(0,p.useEffect)(()=>x,[x]);let S=(0,p.useCallback)((e,t)=>{g(t),u(e,`mavea`).then(e=>{g(e=>e===t?null:e),!e&&l()===!1&&v(!0)})},[]),C=(0,p.useCallback)((e,t)=>{if(!j)return;let n=new j;y.current=n;let r=n.currentTime,i=.6,a=n.createOscillator();a.type=`sine`,a.frequency.setValueAtTime(e,r);let o=n.createGain();o.gain.setValueAtTime(1e-4,r),o.gain.exponentialRampToValueAtTime(.22,r+.04),o.gain.exponentialRampToValueAtTime(1e-4,r+i),a.connect(o).connect(n.destination),a.start(r),a.stop(r+i),g(t),a.onended=()=>{g(e=>e===t?null:e),y.current===n&&(y.current=null,n.close().catch(()=>{}))},b.current=setTimeout(()=>{y.current===n&&(y.current=null,n.close().catch(()=>{}),g(e=>e===t?null:e))},750)},[]),w=(0,p.useCallback)((e,t)=>{if(x(),e.kind===`word`){S(String(e.value),t);return}let n=M(e.value);n===null||n<=0||C(n,t)},[x,S,C]),T=e=>e.kind===`word`||!!j&&M(e.value)!==null,E=j?`This note can’t be played`:`Audio playback is unavailable in this browser`;return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`ul`,{className:`hri-rows`,children:f.map((e,t)=>{let n=T(e),r=h===t,a=i[N[e.kind]]??i.speaker;return(0,m.jsxs)(`li`,{className:`hri-row`,"data-playing":r||void 0,children:[(0,m.jsx)(`button`,{type:`button`,className:`hri-play`,onClick:()=>w(e,t),disabled:!n,title:n?`Play ${e.label}`:E,"aria-label":n?`Play ${e.label}`:`${e.label} — ${E}`,children:r?(0,m.jsxs)(`span`,{className:`hri-wave`,"aria-hidden":`true`,children:[(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{})]}):(0,m.jsx)(i.play,{className:`ic hri-play-ic`,style:{width:13,height:13}})}),(0,m.jsxs)(`div`,{className:`hri-body`,children:[(0,m.jsx)(`div`,{className:`hri-label`,children:e.label}),e.sub&&(0,m.jsx)(`div`,{className:`hri-sub`,children:e.sub})]}),(0,m.jsxs)(`span`,{className:`hri-kind`,children:[(0,m.jsx)(a,{className:`ic hri-kind-ic`,style:{width:12,height:12}}),e.kind]})]},t)})}),_&&(0,m.jsx)(`p`,{className:`insight-summary`,role:`status`,style:{marginTop:12},children:`Voice is off — start the local voice service to hear this.`}),o&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}var F=[{s:`i`,back:0,high:0},{s:`y`,back:0,high:0,rounded:!0},{s:`ɨ`,back:.5,high:0},{s:`u`,back:1,high:0,rounded:!0},{s:`ɪ`,back:.18,high:.18},{s:`ʊ`,back:.82,high:.18,rounded:!0},{s:`e`,back:0,high:.34},{s:`ø`,back:0,high:.34,rounded:!0},{s:`ə`,back:.5,high:.5},{s:`o`,back:1,high:.34,rounded:!0},{s:`ɛ`,back:.08,high:.66},{s:`ɜ`,back:.5,high:.66},{s:`ʌ`,back:.78,high:.66},{s:`ɔ`,back:1,high:.66,rounded:!0},{s:`a`,back:.06,high:1},{s:`æ`,back:.16,high:.84},{s:`ɑ`,back:.9,high:1},{s:`ɒ`,back:1,high:1,rounded:!0}],I=[`Plosive`,`Nasal`,`Fricative`,`Approx.`,`Lateral`],L=[`Bilab.`,`Labiod.`,`Dental`,`Alveolar`,`Postalv.`,`Velar`,`Glottal`],R={"Plosive|Bilab.":[`p`,`b`],"Plosive|Alveolar":[`t`,`d`],"Plosive|Velar":[`k`,`g`],"Plosive|Glottal":[`ʔ`,``],"Nasal|Bilab.":[``,`m`],"Nasal|Alveolar":[``,`n`],"Nasal|Velar":[``,`ŋ`],"Fricative|Labiod.":[`f`,`v`],"Fricative|Dental":[`θ`,`ð`],"Fricative|Alveolar":[`s`,`z`],"Fricative|Postalv.":[`ʃ`,`ʒ`],"Fricative|Glottal":[`h`,``],"Approx.|Postalv.":[``,`ɹ`],"Approx.|Velar":[``,`w`],"Lateral|Alveolar":[``,`l`]};function z(e){return e.replace(/[ː/[\].ˈˌ]/g,``).trim()}function B({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,kind:r=`vowels`,highlight:o,examples:s,caption:c,footer:l,delay:u}){let d=i[t]??i.globe,f=s??[],p=new Set((o??[]).map(z)),h=e=>p.has(z(e));return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),r===`consonants`?(0,m.jsx)(U,{isHot:h}):(0,m.jsx)(V,{isHot:h}),c&&(0,m.jsx)(`div`,{className:`ipa-caption`,children:c}),f.length>0&&(0,m.jsx)(`ul`,{className:`ipa-examples`,children:f.map((e,t)=>(0,m.jsxs)(`li`,{className:`ipa-ex`,...h(e.symbol)?{"data-hot":``}:{},children:[(0,m.jsx)(`span`,{className:`ipa-ex-sym`,children:e.symbol}),(0,m.jsx)(`span`,{className:`ipa-ex-word`,children:e.word})]},t))}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function V(e){let t=(0,O.c)(31),{isHot:n}=e,r,i,a,o,s,c,l,u,d,f,p,h;if(t[0]!==n){let e={x:12,y:14},g={x:92,y:14},_={x:34,y:86},v={x:80,y:86},y=H,b=(t,n)=>{let r=y(e.x,_.x,n),i=y(g.x,v.x,n),a=y(e.y,_.y,n);return{x:y(r,i,t),y:a}};o=`ipa-quad`,r=`0 0 104 100`,s=`100%`,c=`img`,l=`IPA vowel quadrilateral`;let x=`${e.x},${e.y} ${g.x},${g.y} ${v.x},${v.y} ${_.x},${_.y}`;t[13]===x?u=t[14]:(u=(0,m.jsx)(`polygon`,{points:x,fill:`none`,stroke:`var(--line-strong)`,strokeWidth:.8}),t[13]=x,t[14]=u),d=[.34,.5,.66].map((e,t)=>{let n=b(0,e),r=b(1,e);return(0,m.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,stroke:`var(--grid-line)`,strokeWidth:.5},t)}),f=(0,m.jsx)(`line`,{x1:b(.5,0).x,y1:b(.5,0).y,x2:b(.5,1).x,y2:b(.5,1).y,stroke:`var(--grid-line)`,strokeWidth:.5}),p=(0,m.jsx)(`text`,{x:e.x,y:9,className:`ipa-axis`,textAnchor:`start`,children:`Front`}),h=(0,m.jsx)(`text`,{x:g.x,y:9,className:`ipa-axis`,textAnchor:`end`,children:`Back`}),t[15]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,m.jsx)(`text`,{className:`ipa-axis`,transform:`translate(6, 50) rotate(-90)`,textAnchor:`middle`,children:`Close → Open`}),t[15]=i):i=t[15],a=F.map(e=>{let t=b(e.back,e.high),r=e.rounded?3:0,i=n(e.s);return(0,m.jsxs)(`g`,{transform:`translate(${t.x+r}, ${t.y})`,children:[i&&(0,m.jsx)(`circle`,{r:4.4,className:`ipa-vowel-halo`}),(0,m.jsx)(`text`,{className:`ipa-vowel`,textAnchor:`middle`,dominantBaseline:`central`,...i?{"data-hot":``}:{},children:e.s})]},e.s)}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=h}else r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],h=t[12];let g;t[16]!==r||t[17]!==i||t[18]!==a||t[19]!==s||t[20]!==c||t[21]!==l||t[22]!==u||t[23]!==d||t[24]!==f||t[25]!==p||t[26]!==h?(g=(0,m.jsxs)(`svg`,{viewBox:r,width:s,role:c,"aria-label":l,children:[u,d,f,p,h,i,a]}),t[16]=r,t[17]=i,t[18]=a,t[19]=s,t[20]=c,t[21]=l,t[22]=u,t[23]=d,t[24]=f,t[25]=p,t[26]=h,t[27]=g):g=t[27];let _;return t[28]!==o||t[29]!==g?(_=(0,m.jsx)(`div`,{className:o,children:g}),t[28]=o,t[29]=g,t[30]=_):_=t[30],_}function H(e,t,n){return e+(t-e)*n}function U(e){let t=(0,O.c)(7),{isHot:n}=e,r;t[0]===n?r=t[1]:(r=e=>{let{s:t}=e;return t?(0,m.jsx)(`span`,{className:`ipa-cgrid-sym`,...n(t)?{"data-hot":``}:{},children:t}):(0,m.jsx)(`span`,{className:`ipa-cgrid-empty`,children:`·`})},t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{children:[(0,m.jsx)(`th`,{className:`ipa-cgrid-corner`}),L.map(de)]})}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=I.map(e=>(0,m.jsxs)(`tr`,{children:[(0,m.jsx)(`th`,{className:`ipa-cgrid-manner`,scope:`row`,children:e}),L.map(t=>{let n=R[`${e}|${t}`];return(0,m.jsx)(`td`,{className:`ipa-cgrid-cell`,children:n?(0,m.jsxs)(`span`,{className:`ipa-cgrid-pair`,children:[(0,m.jsx)(i,{s:n[0]}),(0,m.jsx)(i,{s:n[1]})]}):(0,m.jsx)(`span`,{className:`ipa-cgrid-na`,"aria-hidden":`true`})},t)})]},e)),t[3]=i,t[4]=o);let s;return t[5]===o?s=t[6]:(s=(0,m.jsx)(`div`,{className:`ipa-cgrid-wrap`,children:(0,m.jsxs)(`table`,{className:`ipa-cgrid`,children:[a,(0,m.jsx)(`tbody`,{children:o})]})}),t[5]=o,t[6]=s),s}function de(e){return(0,m.jsx)(`th`,{className:`ipa-cgrid-place`,scope:`col`,children:e},e)}function fe(e){let t=e.match(/-?\d*\.?\d+/g);if(!t||t.length<2)return null;let n=Number(t[0]),r=Number(t[1]);return!Number.isFinite(n)||!Number.isFinite(r)?null:{x:n,y:r}}function pe({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,glyph:r,strokes:o,grid:s=`mi`,romanization:c,meaning:l,caption:u,footer:d,delay:f}){let p=i[t]??i.edit,h=[...o??[]].sort((e,t)=>e.order-t.order),g=h.some(e=>e.path&&e.path.trim().length>0);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`ss-stage`,children:[(0,m.jsx)(`div`,{className:`ss-square`,children:(0,m.jsxs)(`svg`,{viewBox:`0 0 100 100`,width:`100%`,role:`img`,"aria-label":`Writing guide for ${r}`,children:[(0,m.jsx)(`rect`,{x:1,y:1,width:98,height:98,rx:2,fill:`none`,stroke:`var(--line-strong)`,strokeWidth:.8}),s!==`none`&&(0,m.jsxs)(`g`,{stroke:`var(--grid-line)`,strokeWidth:.6,strokeDasharray:`3 2.5`,children:[(0,m.jsx)(`line`,{x1:50,y1:1,x2:50,y2:99}),(0,m.jsx)(`line`,{x1:1,y1:50,x2:99,y2:50}),s===`mi`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`line`,{x1:1,y1:1,x2:99,y2:99}),(0,m.jsx)(`line`,{x1:99,y1:1,x2:1,y2:99})]})]}),g?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`text`,{x:50,y:54,className:`ss-ghost`,textAnchor:`middle`,dominantBaseline:`central`,children:r}),h.map((e,t)=>e.path?(0,m.jsx)(`path`,{d:e.path,className:`ss-stroke`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{"--i":t}},`p${t}`):null),h.map((e,t)=>{let n=e.path?fe(e.path):null;return n?(0,m.jsxs)(`g`,{transform:`translate(${n.x}, ${n.y})`,children:[(0,m.jsx)(`circle`,{r:4.6,className:`ss-badge-bg`}),(0,m.jsx)(`text`,{className:`ss-badge-num`,textAnchor:`middle`,dominantBaseline:`central`,children:e.order})]},`b${t}`):null})]}):(0,m.jsx)(`text`,{x:50,y:54,className:`ss-glyph`,textAnchor:`middle`,dominantBaseline:`central`,children:r})]})}),(0,m.jsxs)(`div`,{className:`ss-meta`,children:[(0,m.jsx)(`div`,{className:`ss-glyph-sm`,"aria-hidden":`true`,children:r}),c&&(0,m.jsxs)(`div`,{className:`ss-romanization`,children:[(0,m.jsx)(`span`,{className:`ss-meta-k`,children:`Reading`}),(0,m.jsx)(`span`,{className:`ss-meta-v`,children:c})]}),l&&(0,m.jsxs)(`div`,{className:`ss-meaning`,children:[(0,m.jsx)(`span`,{className:`ss-meta-k`,children:`Meaning`}),(0,m.jsx)(`span`,{className:`ss-meta-v`,children:l})]}),(0,m.jsxs)(`div`,{className:`ss-count`,children:[h.length,` `,h.length===1?`stroke`:`strokes`]})]})]}),h.length>0&&(0,m.jsx)(`ol`,{className:`ss-steps`,children:h.map((e,t)=>(0,m.jsxs)(`li`,{className:`ss-step`,children:[(0,m.jsx)(`span`,{className:`ss-step-num`,children:e.order}),(0,m.jsx)(`span`,{className:`ss-step-hint`,children:e.hint??`Stroke ${e.order}`})]},t))}),u&&(0,m.jsx)(`div`,{className:`ipa-caption`,children:u}),d&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var me=`silent`;function he({title:e,icon:t=`captions`,iconColor:n=`var(--presence)`,word:r,chunks:o,rhymes:s,caption:c,footer:f,delay:h}){let g=i[t]??i.captions,_=(o??[]).filter(e=>e&&e.text),v=(s??[]).filter(Boolean),[y,b]=(0,p.useState)(null),[x,S]=(0,p.useState)(!1);(0,p.useEffect)(()=>()=>d(),[]);let C=(0,p.useCallback)((e,t)=>{d(),b(t),u(e,`mavea`).then(e=>{b(e=>e===t?null:e),!e&&l()===!1&&S(!0)})},[]);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h??0)+`ms`},children:[e&&(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`pw-word`,role:`group`,"aria-label":`Sound out ${r}`,children:_.map((e,t)=>{let n=e.kind??`grapheme`,r=n===me;return(0,m.jsxs)(`button`,{type:`button`,className:`pw-chunk`,"data-kind":n,"data-playing":y===t||void 0,disabled:r,onClick:()=>C(e.text,t),title:r?`"${e.text}" is silent`:`Hear "${e.text}"`,"aria-label":r?`${e.text}, silent`:`Hear ${e.text}${e.sound?`, ${e.sound}`:``}`,children:[(0,m.jsx)(`span`,{className:`pw-chunk-text`,children:e.text}),e.sound&&(0,m.jsx)(`span`,{className:`pw-chunk-sound`,children:e.sound})]},t)})}),(0,m.jsxs)(`button`,{type:`button`,className:`pw-blend`,"data-playing":y===-1||void 0,onClick:()=>C(r,-1),title:`Hear "${r}"`,"aria-label":`Hear the whole word, ${r}`,children:[y===-1?(0,m.jsxs)(`span`,{className:`pw-wave`,"aria-hidden":`true`,children:[(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{})]}):(0,m.jsx)(i.play,{className:`ic pw-blend-ic`,style:{width:12,height:12}}),(0,m.jsx)(`span`,{className:`pw-blend-word`,children:r})]}),x&&(0,m.jsx)(`p`,{className:`insight-summary`,role:`status`,style:{marginTop:10},children:`Voice is off — start the local voice service to hear this.`}),c&&(0,m.jsx)(`div`,{className:`ipa-caption`,children:c}),v.length>0&&(0,m.jsxs)(`div`,{className:`pw-rhymes`,children:[(0,m.jsx)(`span`,{className:`pw-rhymes-k`,children:`Rhymes with`}),(0,m.jsx)(`ul`,{className:`pw-rhyme-list`,children:v.map((e,t)=>(0,m.jsx)(`li`,{className:`pw-rhyme`,children:e},t))})]}),f&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}var ge=[`noun`,`verb`,`adjective`,`adverb`,`pronoun`,`preposition`,`conjunction`,`determiner`,`interjection`],W={noun:`n.`,verb:`v.`,adjective:`adj.`,adverb:`adv.`,pronoun:`pron.`,preposition:`prep.`,conjunction:`conj.`,determiner:`det.`,interjection:`interj.`},_e=e=>typeof e==`string`&&Object.prototype.hasOwnProperty.call(W,e),ve=/^[¿¡([{«‹“‘]+$/;function G({title:e,icon:t=`captions`,iconColor:n=`var(--presence)`,tokens:r,sentence:o,translation:s,footer:c,delay:l}){let u=i[t]??i.captions,{groups:d,legend:f,notes:h}=(0,p.useMemo)(()=>{let e=Array.isArray(r)?r:[],t=0,n=[];for(let r of e){if(typeof r==`string`){r.trim()&&n.push({word:r});continue}if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.word!=`string`||!e.word.trim())continue;if(e.pos===`punctuation`){n.push({word:e.word,punct:!0});continue}let i=typeof e.note==`string`&&e.note.trim()?e.note:void 0;n.push({word:e.word,pos:_e(e.pos)?e.pos:void 0,note:i,noteIdx:i?++t:void 0})}let i=[],a=[];for(let e of n)if(e.punct){let t=i[i.length-1];t&&!ve.test(e.word)?t.trail.push(e):a.push(e)}else i.push({lead:a,word:e,trail:[]}),a=[];if(a.length){let e=i[i.length-1];e?e.trail.push(...a):i.push({lead:a,trail:[]})}let o=new Map;for(let e of n)e.pos&&o.set(e.pos,(o.get(e.pos)??0)+1);return{groups:i,legend:ge.filter(e=>o.has(e)).map(e=>({pos:e,count:o.get(e)??0})),notes:n.filter(e=>e.noteIdx!==void 0)}},[r]),[g,_]=(0,p.useState)(null),v=g&&f.some(e=>e.pos===g)?g:null,y=(e,t)=>(0,m.jsx)(`span`,{className:`psb-punct`,"data-dim":!!v||void 0,children:e.word},t);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),d.length>0?(0,m.jsx)(`div`,{className:`psb-flow`,children:d.map((e,t)=>(0,m.jsxs)(`span`,{className:`psb-group`,children:[e.lead.map((e,t)=>y(e,`l${t}`)),e.word&&(0,m.jsxs)(`span`,{className:`psb-token`,"data-pos":e.word.pos,"data-dim":!!v&&e.word.pos!==v||void 0,title:e.word.note?`${e.word.word} — ${e.word.note}`:void 0,children:[(0,m.jsxs)(`span`,{className:`psb-word`,children:[e.word.word,e.word.noteIdx!==void 0&&(0,m.jsx)(`sup`,{className:`psb-note-mark`,"aria-hidden":`true`,children:e.word.noteIdx})]}),e.word.pos&&(0,m.jsx)(`span`,{className:`psb-abbr`,"aria-hidden":`true`,children:W[e.word.pos]})]}),e.trail.map((e,t)=>y(e,`t${t}`))]},t))}):o?(0,m.jsx)(`p`,{className:`psb-plain`,children:o}):(0,m.jsx)(`div`,{className:`psb-empty`,children:`Nothing to break down yet.`}),s&&(0,m.jsx)(`div`,{className:`psb-translation`,children:s}),f.length>0&&(0,m.jsx)(`div`,{className:`psb-legend`,role:`group`,"aria-label":`Word classes in this sentence`,children:f.map(({pos:e,count:t})=>(0,m.jsxs)(`button`,{type:`button`,className:`psb-leg`,"data-pos":e,"aria-pressed":v===e,onClick:()=>_(t=>t===e?null:e),title:v===e?`Show every word`:`Spotlight every ${e}`,children:[(0,m.jsx)(`span`,{className:`psb-leg-dot`,"aria-hidden":`true`}),e,t>1&&(0,m.jsxs)(`span`,{className:`psb-leg-n`,children:[`×`,t]})]},e))}),h.length>0&&(0,m.jsx)(`ul`,{className:`psb-notes`,children:h.map(e=>(0,m.jsxs)(`li`,{className:`psb-note`,children:[(0,m.jsx)(`sup`,{className:`psb-note-num`,children:e.noteIdx}),(0,m.jsxs)(`span`,{className:`psb-note-text`,children:[(0,m.jsx)(`span`,{className:`psb-note-word`,children:e.word}),` — `,e.note]})]},e.noteIdx))}),c&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}function ye({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,commonName:r,scientificName:s,image:c,marks:l,lookalikes:u,status:d,caption:p,footer:h,delay:g}){let _=i[t]??i.globe,v=f(c?.from,`var(--presence-deep)`),y=f(c?.to,`var(--presence-soft)`),b=o(c?.src),x=l??[],S=u??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(g??0)+`ms`},children:[e&&(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`sp-banner`,style:{background:`linear-gradient(150deg, ${v}, ${y})`},children:[b&&(0,m.jsx)(`img`,{className:`me-img-fill`,src:b,alt:``,loading:`lazy`,decoding:`async`,referrerPolicy:`no-referrer`,onError:e=>{e.currentTarget.style.display=`none`}}),d&&(0,m.jsx)(`span`,{className:`sp-status`,children:d})]}),(0,m.jsx)(`div`,{className:`sp-common`,"data-mark":`underline`,children:r}),s&&(0,m.jsx)(`div`,{className:`sp-scientific`,children:s}),p&&(0,m.jsx)(`div`,{className:`sp-caption`,children:p}),x.length>0&&(0,m.jsx)(`div`,{className:`sp-marks`,children:x.map((e,t)=>(0,m.jsxs)(`div`,{className:`sp-mark`,children:[(0,m.jsx)(`span`,{className:`sp-mark-label`,children:e.label}),(0,m.jsx)(`span`,{className:`sp-mark-value`,children:e.value})]},t))}),S.length>0&&(0,m.jsxs)(`div`,{className:`sp-lookalikes`,children:[(0,m.jsxs)(`span`,{className:`sp-lookalikes-k`,children:[(0,m.jsx)(i.layers,{className:`ic sp-lookalikes-ic`}),` Easily confused with`]}),(0,m.jsx)(`ul`,{className:`sp-lookalike-list`,children:S.map((e,t)=>(0,m.jsx)(`li`,{className:`sp-lookalike`,children:e},t))})]}),h&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(h)})]})}function be({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,terms:r,footer:o,delay:s}){let c=i[t]??i.table,l=e=>typeof e==`string`&&e.trim()?e.trim():`—`,{rows:u,langs:d}=(0,p.useMemo)(()=>{let e=r??[],t=[],n=new Set;return{rows:e.map(e=>{let r=new Map;for(let i of e.translations??[]){if(!i||typeof i!=`object`)continue;let e=l(i.lang);n.has(e)||(n.add(e),t.push(e)),r.has(e)||r.set(e,i)}return{term:e,cells:r}}),langs:t}},[r]),f=e=>{if(e===`preferred`)return`var(--insight)`;if(e===`deprecated`)return`var(--warning)`;if(e===`avoid`)return`var(--danger)`};return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),u.length===0?(0,m.jsx)(`div`,{className:`tb-empty`,children:`No terms yet.`}):d.length===0?(0,m.jsx)(`ul`,{className:`tb-flat`,children:u.map(({term:e},t)=>(0,m.jsx)(`li`,{className:`tb-flat-term m-stagger-item m-fade-rise`,style:{"--i":t},children:e.term},t))}):(0,m.jsx)(`div`,{className:`tb-wrap`,children:(0,m.jsxs)(`table`,{className:`tb-table`,children:[(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{children:[(0,m.jsx)(`th`,{scope:`col`,children:`Term`}),d.map(e=>(0,m.jsx)(`th`,{scope:`col`,children:e},e))]})}),(0,m.jsx)(`tbody`,{children:u.map(({term:e,cells:t},n)=>(0,m.jsxs)(`tr`,{className:`m-stagger-item m-fade-rise`,style:{"--i":n},children:[(0,m.jsx)(`td`,{className:`tb-term-col`,children:e.term}),d.map(e=>{let n=t.get(e),r=n&&typeof n.text==`string`?n.text:``,i=f(n?.status);return(0,m.jsx)(`td`,{className:`tb-cell`,children:r?(0,m.jsxs)(`span`,{className:`tb-cell-text`,children:[i&&(0,m.jsx)(`span`,{className:`tb-dot`,style:{"--tb-c":i},title:n?.status}),r]}):(0,m.jsx)(`span`,{className:`tb-dash`,children:`—`})},e)})]},n))})]})}),o&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}var K={whale:{w:240,h:70,orient:`horizontal`},bus:{w:200,h:90,orient:`horizontal`},generic:{w:90,h:70,orient:`horizontal`},human:{w:40,h:100,orient:`vertical`},building:{w:70,h:160,orient:`vertical`}};function xe(e){return typeof e==`string`&&e in K}function Se(e){let t=(0,O.c)(21),n,r;t[0]===e?(n=t[1],r=t[2]):({shape:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i=K[n],a=`0 0 ${i.w} ${i.h}`,o;t[3]===n?o=t[4]:(o=n===`human`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`circle`,{cx:`20`,cy:`11`,r:`10`}),(0,m.jsx)(`path`,{d:`M8 30 Q20 22 32 30 L34 62 Q27 68 20 68 Q13 68 6 62 Z`}),(0,m.jsx)(`path`,{d:`M11 66 L8 100 L17 100 L19 70 Z`}),(0,m.jsx)(`path`,{d:`M29 66 L32 100 L23 100 L21 70 Z`})]}),t[3]=n,t[4]=o);let s;t[5]===n?s=t[6]:(s=n===`bus`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`path`,{d:`M6 20 Q6 8 18 8 H172 Q188 8 188 24 V58 Q188 66 180 66 H16 Q6 66 6 56 Z`}),(0,m.jsx)(`rect`,{x:`18`,y:`17`,width:`152`,height:`19`,rx:`3`,className:`szc-glyph-cut`,fill:`var(--surface-elevated)`}),(0,m.jsx)(`circle`,{cx:`46`,cy:`70`,r:`13`}),(0,m.jsx)(`circle`,{cx:`154`,cy:`70`,r:`13`})]}),t[5]=n,t[6]=s);let c;t[7]===n?c=t[8]:(c=n===`whale`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`path`,{d:`M4 40 C4 20 40 10 100 9 C170 8 210 20 224 32 L236 26 L232 42 L236 56 L224 50 C214 60 170 66 100 65 C40 64 4 56 4 40 Z`}),(0,m.jsx)(`path`,{d:`M60 12 C64 2 76 2 78 12 C72 14 66 14 60 12 Z`}),(0,m.jsx)(`path`,{d:`M18 46 C22 54 34 56 40 50 C34 46 24 44 18 46 Z`})]}),t[7]=n,t[8]=c);let l;t[9]===n?l=t[10]:(l=n===`building`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`rect`,{x:`10`,y:`6`,width:`50`,height:`154`,rx:`2`}),Array.from({length:8},Ce)]}),t[9]=n,t[10]=l);let u;t[11]===n?u=t[12]:(u=n===`generic`&&(0,m.jsx)(`path`,{d:`M8 55 Q2 30 28 18 Q46 4 66 14 Q86 22 82 42 Q90 52 78 58 Q55 68 30 64 Q12 62 8 55 Z`}),t[11]=n,t[12]=u);let d;return t[13]!==r||t[14]!==a||t[15]!==o||t[16]!==s||t[17]!==c||t[18]!==l||t[19]!==u?(d=(0,m.jsxs)(`svg`,{viewBox:a,preserveAspectRatio:`xMidYMax meet`,fill:`currentColor`,"aria-hidden":`true`,...r,children:[o,s,c,l,u]}),t[13]=r,t[14]=a,t[15]=o,t[16]=s,t[17]=c,t[18]=l,t[19]=u,t[20]=d):d=t[20],d}function Ce(e,t){return Array.from({length:3},(e,n)=>(0,m.jsx)(`rect`,{x:17+n*13,y:16+t*17,width:`8`,height:`9`,rx:`1`,className:`szc-glyph-cut`,fill:`var(--surface-elevated)`},`${t}-${n}`))}var we=190,q=16;function Te(e,t){if(typeof e!=`number`||!Number.isFinite(e))return`—`;let n=e.toLocaleString(void 0,{maximumFractionDigits:2});return t?`${n} ${t}`:n}function Ee({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,unit:r,subjects:o,footer:s,delay:c}){let l=i[t]??i.layers,u=o??[],d=u.reduce((e,t)=>{let n=typeof t.length==`number`&&Number.isFinite(t.length)?t.length:-1/0;return n>e?n:e},0),f=d>0?we/d:0,p=u.map(e=>{let t=xe(e.shape)?e.shape:`generic`,n=K[t],r=typeof e.length==`number`&&Number.isFinite(e.length)&&e.length>0&&f>0?Math.max(e.length*f,q):q;return{subject:e,shape:t,width:n.orient===`horizontal`?r:r*(n.w/n.h),height:n.orient===`vertical`?r:r*(n.h/n.w)}}),h=Math.max(...p.map(e=>e.height),q);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),p.length===0?(0,m.jsx)(`div`,{className:`szc-empty`,children:`No subjects yet.`}):(0,m.jsx)(`div`,{className:`szc-scroll`,children:(0,m.jsx)(`div`,{className:`szc-row`,style:{"--szc-track-h":h+`px`},children:p.map(({subject:e,shape:t,width:i,height:a},o)=>(0,m.jsxs)(`div`,{className:`szc-item m-stagger-item m-scale-in`,style:{"--i":o,color:n},children:[(0,m.jsx)(`div`,{className:`szc-shape-box`,children:(0,m.jsx)(Se,{shape:t,style:{width:i,height:a}})}),(0,m.jsx)(`div`,{className:`szc-item-label`,...o===0?{"data-mark":`underline`}:{},children:e.label}),(0,m.jsx)(`div`,{className:`szc-item-value`,children:Te(e.length,r)})]},o))})}),s&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}function De(e){let t=Array.from(e),n=t.length;return t.map((e,t)=>({ch:e,group:Math.floor((n-1-t)/4)}))}function Oe({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,value:r,bases:o,footer:s,delay:c}){let l=i[t]??i.chart,u=o??[],d=typeof r==`string`||typeof r==`number`?String(r):``;return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),d&&(0,m.jsx)(`div`,{className:`bcv-value`,"data-mark":`underline`,children:d}),u.length>0?(0,m.jsx)(`div`,{className:`bcv-rows`,children:u.map((e,t)=>{let n=typeof e.digits==`string`?e.digits.trim():``,r=typeof e.radix==`number`&&Number.isFinite(e.radix)?e.radix:null;return(0,m.jsxs)(`div`,{className:`bcv-row m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsxs)(`div`,{className:`bcv-row-head`,children:[(0,m.jsx)(`span`,{className:`bcv-label`,children:e.label}),r!==null&&(0,m.jsxs)(`span`,{className:`bcv-radix`,children:[`base `,r]})]}),n?(0,m.jsx)(`div`,{className:`bcv-digits`,children:De(n).map((e,t)=>(0,m.jsx)(`span`,{className:`bcv-digit`,"data-group":e.group%2==0?`a`:`b`,children:e.ch},t))}):(0,m.jsx)(`span`,{className:`bcv-dash`,children:`—`})]},t)})}):(0,m.jsx)(`div`,{className:`bcv-empty`,children:`No bases yet.`}),s&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}function ke(e){let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:t.length===1?t[0][0]?.toUpperCase()??`?`:((t[0][0]??``)+(t[t.length-1][0]??``)).toUpperCase()}function Ae(e){return typeof e==`string`&&e.trim()||typeof e==`number`&&Number.isFinite(e)?String(e):`—`}function je({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,name:r,era:o,born:s,died:c,knownFor:l,facts:u,lifeEvents:d,legacy:f,footer:p,delay:h}){let g=i[t]??i.doc,_=u??[],v=d??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`hp-head`,children:[(0,m.jsx)(`div`,{className:`hp-medallion`,"aria-hidden":`true`,children:ke(r)}),(0,m.jsxs)(`div`,{className:`hp-headline`,children:[(0,m.jsx)(`div`,{className:`hp-name`,"data-mark":`underline`,children:r}),o&&(0,m.jsx)(`div`,{className:`hp-era`,children:o}),l&&(0,m.jsx)(`div`,{className:`hp-known`,children:l})]})]}),(s||c)&&(0,m.jsxs)(`div`,{className:`hp-dates`,children:[s&&(0,m.jsxs)(`div`,{className:`hp-date`,children:[(0,m.jsx)(`span`,{className:`hp-date-k`,children:`Born`}),(0,m.jsx)(`span`,{className:`hp-date-v`,children:s})]}),c&&(0,m.jsxs)(`div`,{className:`hp-date`,children:[(0,m.jsx)(`span`,{className:`hp-date-k`,children:`Died`}),(0,m.jsx)(`span`,{className:`hp-date-v`,children:c})]})]}),v.length>0&&(0,m.jsx)(`div`,{className:`hp-beats`,children:v.map((e,t)=>(0,m.jsxs)(`div`,{className:`hp-beat m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`hp-beat-year`,children:Ae(e.year)}),(0,m.jsx)(`span`,{className:`hp-beat-label`,children:e.label})]},t))}),_.length>0&&(0,m.jsx)(`div`,{className:`hp-facts`,children:_.map((e,t)=>(0,m.jsxs)(`div`,{className:`hp-fact-row`,children:[(0,m.jsx)(`span`,{className:`hp-fact-label`,children:e.label}),(0,m.jsx)(`span`,{className:`hp-fact-value`,children:e.value})]},t))}),f&&(0,m.jsx)(`div`,{className:`hp-legacy`,children:f}),p&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(p)})]})}function J(e){return typeof e==`string`&&e.trim()||typeof e==`number`&&Number.isFinite(e)?String(e):`—`}function Me({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,date:r,events:o,born:s,died:c,footer:l,delay:u}){let d=i[t]??i.clock,f=o??[],p=s??[],h=c??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`otd-date`,children:r}),f.length>0?(0,m.jsx)(`div`,{className:`otd-events`,children:f.map((e,t)=>(0,m.jsxs)(`div`,{className:`otd-event m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`otd-year-chip`,children:J(e.year)}),(0,m.jsxs)(`div`,{className:`otd-event-body`,children:[(0,m.jsx)(`div`,{className:`otd-label`,...t===0?{"data-mark":`underline`}:{},children:e.label}),e.category&&(0,m.jsx)(`span`,{className:`otd-cat`,children:e.category})]})]},t))}):(0,m.jsx)(`div`,{className:`otd-empty`,children:`No events yet.`}),(p.length>0||h.length>0)&&(0,m.jsxs)(`div`,{className:`otd-people`,children:[p.length>0&&(0,m.jsxs)(`div`,{className:`otd-people-col`,children:[(0,m.jsx)(`span`,{className:`otd-people-k`,children:`Born`}),p.map((e,t)=>(0,m.jsxs)(`div`,{className:`otd-person`,children:[(0,m.jsx)(`span`,{className:`otd-person-year`,children:J(e.year)}),(0,m.jsx)(`span`,{className:`otd-person-name`,children:e.name})]},t))]}),h.length>0&&(0,m.jsxs)(`div`,{className:`otd-people-col`,children:[(0,m.jsx)(`span`,{className:`otd-people-k`,children:`Died`}),h.map((e,t)=>(0,m.jsxs)(`div`,{className:`otd-person`,children:[(0,m.jsx)(`span`,{className:`otd-person-year`,children:J(e.year)}),(0,m.jsx)(`span`,{className:`otd-person-name`,children:e.name})]},t))]})]}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function Ne({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,name:r,flag:o,capital:s,population:c,area:l,officialLanguages:u,currency:d,facts:f,footer:p,delay:h}){let g=i[t]??i.globe,_=Array.isArray(f)?f:[],v=(Array.isArray(u)?u:[]).filter(e=>typeof e==`string`&&e.trim().length>0),y=[{label:`Capital`,value:s},{label:`Population`,value:c},{label:`Area`,value:l},{label:`Currency`,value:d}].filter(e=>typeof e.value==`string`&&!!e.value);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h??0)+`ms`},children:[e&&(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`cc-banner`,children:(0,m.jsx)(`span`,{className:`cc-flag`,role:`img`,"aria-label":`Flag of ${r}`,children:typeof o==`string`&&o.trim()?o:`🌐`})}),(0,m.jsx)(`div`,{className:`cc-name`,"data-mark":`underline`,children:r}),y.length>0&&(0,m.jsx)(`div`,{className:`cc-marks`,children:y.map((e,t)=>(0,m.jsxs)(`div`,{className:`cc-mark`,children:[(0,m.jsx)(`span`,{className:`cc-mark-label`,children:e.label}),(0,m.jsx)(`span`,{className:`cc-mark-value`,children:e.value})]},t))}),v.length>0&&(0,m.jsx)(`div`,{className:`cc-langs`,children:v.map((e,t)=>(0,m.jsx)(`span`,{className:`cc-lang-chip`,children:e},t))}),_.length>0&&(0,m.jsx)(`div`,{className:`cc-facts`,children:_.map((e,t)=>(0,m.jsxs)(`div`,{className:`cc-fact-row`,children:[(0,m.jsx)(`span`,{className:`cc-fact-label`,children:e.label}),(0,m.jsx)(`span`,{className:`cc-fact-value`,children:e.value})]},t))}),p&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(p)})]})}function Pe({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,countries:r,footer:o,delay:s}){let c=i[t]??i.globe,l=Array.isArray(r)?r:[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),l.length===0?(0,m.jsx)(`div`,{className:`wg-empty`,children:`No countries yet.`}):(0,m.jsx)(`div`,{className:`wg-grid`,children:l.map((e,t)=>(0,m.jsxs)(`div`,{className:`wg-tile m-stagger-item m-scale-in`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`wg-flag`,role:`img`,"aria-label":`Flag of ${e.name}`,children:typeof e.flag==`string`&&e.flag.trim()?e.flag:`🌐`}),(0,m.jsx)(`div`,{className:`wg-name`,children:e.name}),e.capital&&(0,m.jsxs)(`div`,{className:`wg-row`,children:[(0,m.jsx)(`span`,{className:`wg-row-k`,children:`Capital`}),(0,m.jsx)(`span`,{className:`wg-row-v`,children:e.capital})]}),e.currency&&(0,m.jsxs)(`div`,{className:`wg-row`,children:[(0,m.jsx)(`span`,{className:`wg-row-k`,children:`Currency`}),(0,m.jsx)(`span`,{className:`wg-row-v`,children:e.currency})]}),e.language&&(0,m.jsxs)(`div`,{className:`wg-row`,children:[(0,m.jsx)(`span`,{className:`wg-row-k`,children:`Language`}),(0,m.jsx)(`span`,{className:`wg-row-v`,children:e.language})]})]},t))}),o&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}var Y=[`var(--presence)`,`var(--danger)`,`var(--warning)`,`var(--text-muted)`],Fe=new Set(Y);function Ie(e,t){return typeof e.color==`string`&&Fe.has(e.color)?e.color:Y[t%Y.length]}function Le({title:e,icon:t=`shield`,iconColor:n=`var(--danger)`,dates:r,sides:o,keyBattles:s,casualties:c,outcome:l,footer:u,delay:d}){let f=i[t]??i.shield,p=Array.isArray(o)?o:[],h=Array.isArray(s)?s:[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,m.jsx)(`div`,{className:`wc-dates`,children:r}),p.length>0&&(0,m.jsx)(`div`,{className:`wc-sides`,children:p.map((e,t)=>{let n=Ie(e,t),r=Array.isArray(e.leaders)?e.leaders:[];return(0,m.jsxs)(`div`,{className:`wc-side m-stagger-item m-fade-rise`,style:{"--i":t,"--wc-c":n},children:[(0,m.jsx)(`div`,{className:`wc-side-name`,children:e.name}),r.length>0&&(0,m.jsx)(`ul`,{className:`wc-leaders`,children:r.filter(e=>typeof e==`string`&&e.trim().length>0).map((e,t)=>(0,m.jsx)(`li`,{className:`wc-leader`,children:e},t))})]},t)})}),h.length>0&&(0,m.jsx)(`div`,{className:`wc-battles`,children:h.map((e,t)=>(0,m.jsxs)(`div`,{className:`wc-battle`,children:[(0,m.jsx)(`span`,{className:`wc-battle-dot`,"aria-hidden":`true`}),(0,m.jsx)(`span`,{className:`wc-battle-label`,children:e.label}),e.at&&(0,m.jsx)(`span`,{className:`wc-battle-at`,children:e.at})]},t))}),c&&(0,m.jsxs)(`div`,{className:`wc-stat-row`,children:[(0,m.jsx)(`span`,{className:`wc-stat-k`,children:`Casualties`}),(0,m.jsx)(`span`,{className:`wc-stat-v`,children:c})]}),l&&(0,m.jsx)(`div`,{className:`wc-outcome`,children:l}),u&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}var X=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--text-muted)`],Re=new Set([`var(--presence)`,`var(--presence-soft)`,`var(--presence-deep)`,`var(--insight)`,`var(--insight-soft)`,`var(--warning)`,`var(--warning-soft)`,`var(--danger)`,`var(--text-muted)`]);function ze(e,t){return typeof e.color==`string`&&Re.has(e.color)?e.color:X[t%X.length]}var Z=3;function Be(e){return e<=Z?Math.max(e,1):Math.ceil(e/Math.ceil(e/Z))}function Q(e){return typeof e==`string`&&e.trim().length>0}function Ve({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,terms:r,discriminator:o,discriminatorLabel:s,commonMistake:c,footer:l,delay:u}){let d=i[t]??i.proof,f=(Array.isArray(r)?r:[]).filter(e=>!!e&&Q(e.term)),p=Be(f.length),h=Q(o),g=Q(s)?s:`The test`;return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),f.length>0&&(0,m.jsx)(`div`,{className:`dcd-terms`,style:{"--dcd-cols":p,"--dcd-cols-narrow":Math.min(p,2)},children:f.map((e,t)=>(0,m.jsxs)(`div`,{className:`dcd-term m-stagger-item m-fade-rise`,style:{"--i":t,"--dcd-c":ze(e,t)},children:[(0,m.jsxs)(`div`,{className:`dcd-term-head`,children:[(0,m.jsx)(`span`,{className:`dcd-term-name`,children:e.term}),Q(e.tag)&&(0,m.jsx)(`span`,{className:`dcd-term-tag`,children:e.tag})]}),Q(e.gist)&&(0,m.jsx)(`p`,{className:`dcd-gist`,children:e.gist}),Q(e.example)&&(0,m.jsxs)(`p`,{className:`dcd-example`,children:[(0,m.jsx)(`span`,{className:`dcd-example-k`,children:`e.g.`}),e.example]})]},t))}),h&&(0,m.jsxs)(`div`,{className:`dcd-rule m-stagger-item m-fade-rise`,style:{"--i":f.length},children:[(0,m.jsxs)(`div`,{className:`dcd-rule-label`,children:[(0,m.jsx)(i.spark,{className:`ic`,"aria-hidden":`true`}),g]}),(0,m.jsx)(`p`,{className:`dcd-rule-text`,"data-mark":`underline`,children:o})]}),Q(c)&&(0,m.jsxs)(`p`,{className:`dcd-mistake`,children:[(0,m.jsx)(i.alert,{className:`ic`,"aria-hidden":`true`}),(0,m.jsxs)(`span`,{className:`dcd-mistake-text`,children:[(0,m.jsx)(`span`,{className:`dcd-mistake-k`,children:`Common slip `}),c]})]}),f.length===0&&!h&&(0,m.jsx)(`div`,{className:`dcd-empty`,children:`No terms to tell apart yet.`}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var He=e({referenceRegistry:()=>$}),$={factsheet:c(D),newsdigest:c(ie),dictionary:c(se),translation:c(ae),pronunciation:c(oe),gloss:c(ce),scalefelt:c(A),hearit:c(P),ipachart:c(B),scriptstroke:c(pe),phonicsword:c(he),speciescard:c(ye),etymtree:c(E),hazardcard:c(re),termbase:c(be),sizecompare:c(Ee),baseconversion:c(Oe),historicalperson:c(je),onthisday:c(Me),countrycard:c(Ne),worldgrid:c(Pe),warconflict:c(Le),posbreakdown:c(G),distinctioncard:c(Ve)};export{He as n,$ as t};
1
+ import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{t as r}from"./jsx-runtime-DeHZSEgm.js";import{n as i}from"./icons-gLFQTv74.js";import{t as a}from"./richText-BkxJhl9N.js";import{t as o}from"./safeImageUrl-BINWXOTz.js";import{r as s}from"./lib-B7OE1ZQQ.js";import{t as c}from"./registry-types-D3q_LrlV.js";import{r as l,s as u,t as d}from"./kokoro-B3oG_8sd.js";import{t as f}from"./safeCssColor-di93BXgG.js";var p=t(),m=r(),h=480,g=90,_=240,v=390,y=120,b=38,x=14;function S(e){let t=e.toLowerCase();return t.includes(`proto`)||t.includes(`pie`)||t.includes(`indo`)?`var(--text-muted)`:t.includes(`latin`)||t.includes(`greek`)||t.includes(`ancient`)?`var(--presence)`:t.includes(`french`)||t.includes(`romance`)||t.includes(`spanish`)||t.includes(`italian`)?`var(--insight)`:t.includes(`german`)||t.includes(`dutch`)||t.includes(`nordic`)||t.includes(`norse`)?`var(--warning)`:t.includes(`arabic`)||t.includes(`persian`)||t.includes(`sanskrit`)?`var(--danger)`:`var(--text-secondary)`}var C=18,w=22;function T(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function E({word:e,roots:t,descendants:n,note:r,footer:i,delay:o}){let{vbH:s,wordY:c,wordCY:l,rootBoxes:u,descBoxes:d}=(0,p.useMemo)(()=>{let e=t??[],r=n??[],i=e.length,a=r.length,o=Math.max(i,a,1)*52-x+32+12,s=Math.max(o,120),c=s/2,l=c-b/2,u=c-(i*52-(i>0?x:0))/2,d=e.map((e,t)=>({r:e,x:g-y/2,y:u+t*52,cy:u+t*52+b/2,color:S(e.lang)})),f=c-(a*52-(a>0?x:0))/2;return{vbH:s,wordY:l,wordCY:c,rootBoxes:d,descBoxes:r.map((e,t)=>({d:e,x:v-y/2,y:f+t*52,cy:f+t*52+b/2,color:S(e.lang??``)}))}},[t,n]),f=(e,t,n,r)=>{let i=(e+n)/2;return`M ${e.toFixed(1)},${t.toFixed(1)} C ${i.toFixed(1)},${t.toFixed(1)} ${i.toFixed(1)},${r.toFixed(1)} ${n.toFixed(1)},${r.toFixed(1)}`};return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(o??0)+`ms`},children:[(0,m.jsx)(`div`,{className:`et-wrap`,children:(0,m.jsxs)(`svg`,{className:`et-svg`,viewBox:`0 0 ${h} ${s}`,role:`img`,"aria-label":`Etymology of "${e}"`,preserveAspectRatio:`xMidYMid meet`,children:[u.map((e,t)=>(0,m.jsx)(`path`,{d:f(150,e.cy,_-y/2,l),fill:`none`,stroke:e.color,strokeWidth:`1.5`,opacity:`0.75`},`rc${t}`)),d.map((e,t)=>(0,m.jsx)(`path`,{d:f(300,l,v-y/2,e.cy),fill:`none`,stroke:e.color,strokeWidth:`1.5`,opacity:`0.75`},`dc${t}`)),u.map(({r:e,x:t,y:n,cy:r,color:i},a)=>{let o=e.lang+(e.gloss?` · ${e.gloss}`:``);return(0,m.jsxs)(`g`,{children:[(0,m.jsx)(`rect`,{x:t,y:n,width:y,height:b,rx:6,className:`et-box`,style:{stroke:i}}),(0,m.jsxs)(`text`,{x:g,y:r-7,textAnchor:`middle`,className:`et-form`,children:[e.form.length>C&&(0,m.jsx)(`title`,{children:e.form}),T(e.form,C)]}),(0,m.jsxs)(`text`,{x:g,y:r+9,textAnchor:`middle`,className:`et-lang`,style:{fill:i},children:[o.length>w&&(0,m.jsx)(`title`,{children:o}),T(o,w)]})]},`r${a}`)}),(0,m.jsx)(`rect`,{x:_-y/2,y:c,width:y,height:b,rx:8,className:`et-word-box`}),(0,m.jsx)(`text`,{x:_,y:l+5,textAnchor:`middle`,className:`et-word`,children:e}),d.map(({d:e,x:t,y:n,cy:r,color:i},a)=>{let o=e.lang?`${e.lang}${e.gloss?` · ${e.gloss}`:``}`:e.gloss??``;return(0,m.jsxs)(`g`,{children:[(0,m.jsx)(`rect`,{x:t,y:n,width:y,height:b,rx:6,className:`et-box`,style:{stroke:i}}),(0,m.jsxs)(`text`,{x:v,y:r-7,textAnchor:`middle`,className:`et-form`,children:[e.form.length>C&&(0,m.jsx)(`title`,{children:e.form}),T(e.form,C)]}),(0,m.jsxs)(`text`,{x:v,y:r+9,textAnchor:`middle`,className:`et-lang`,style:{fill:i},children:[o.length>w&&(0,m.jsx)(`title`,{children:o}),T(o,w)]})]},`d${a}`)}),(0,m.jsx)(`text`,{x:g,y:12,textAnchor:`middle`,className:`et-col-hdr`,children:`Roots`}),d.length>0&&(0,m.jsx)(`text`,{x:v,y:12,textAnchor:`middle`,className:`et-col-hdr`,children:`Descendants`})]})}),r&&(0,m.jsx)(`div`,{className:`et-note`,children:r}),i&&(0,m.jsx)(`div`,{className:`insight-summary`,dangerouslySetInnerHTML:a(i),style:{marginTop:12}})]})}function D({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,subject:r,tagline:o,facts:s,body:c,footer:l,delay:u}){let d=i[t]??i.doc,f=s??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`fs-subject`,children:r}),o&&(0,m.jsx)(`div`,{className:`fs-tagline`,children:o}),f.length>0&&(0,m.jsx)(`div`,{className:`fs-facts`,children:f.map((e,t)=>(0,m.jsxs)(`div`,{className:`fs-row`,children:[(0,m.jsx)(`span`,{className:`fs-label`,children:e.label}),(0,m.jsxs)(`span`,{className:`fs-value`,...t===0?{"data-mark":`underline`}:{},children:[e.value,e.note&&(0,m.jsxs)(`span`,{className:`fs-note`,children:[` `,e.note]})]})]},t))}),c&&(0,m.jsx)(`div`,{className:`fs-body`,dangerouslySetInnerHTML:a(c)}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var O=n(),k={flammable:`Flammable`,corrosive:`Corrosive`,toxic:`Toxic`,irritant:`Irritant`,oxidizer:`Oxidizer`,healthHazard:`Health hazard`,environment:`Environment`,explosive:`Explosive`,compressedGas:`Compressed gas`},ee=`12,1.6 22.4,12 12,22.4 1.6,12`,te={flammable:()=>(0,m.jsx)(`path`,{className:`ghs-symbol-fill`,d:`M12 6c1.9 2.4 2.9 4.2 2.9 6a2.9 2.9 0 0 1-5.8 0c0-.7.15-1.3.45-1.85-.05.5.1.9.5 1.15-.15-1.7.3-3.4 1.95-5.3Z`}),corrosive:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`line`,{x1:`5.6`,y1:`13.4`,x2:`18.4`,y2:`13.4`}),(0,m.jsx)(`path`,{d:`M9 6.6v3.6q0 1.7-1.1 3.2`}),(0,m.jsx)(`path`,{d:`M15 6.6v3.6q0 1.7 1.1 3.2`}),(0,m.jsx)(`path`,{d:`M7.6 15.4q.6 1.2 0 2.4`}),(0,m.jsx)(`path`,{d:`M16.4 15.4q.6 1.4-.2 2.6`})]}),toxic:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`10.1`,r:`3.15`}),(0,m.jsx)(`circle`,{className:`ghs-symbol-fill`,cx:`10.6`,cy:`9.8`,r:`0.55`}),(0,m.jsx)(`circle`,{className:`ghs-symbol-fill`,cx:`13.4`,cy:`9.8`,r:`0.55`}),(0,m.jsx)(`path`,{d:`M10.6 12.3q1.4 1 2.8 0`}),(0,m.jsx)(`path`,{d:`M8.1 17.1 15.9 13.7`}),(0,m.jsx)(`path`,{d:`M8.1 13.7 15.9 17.1`})]}),irritant:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol-fill`,children:[(0,m.jsx)(`rect`,{x:`11.05`,y:`6.4`,width:`1.9`,height:`6.6`,rx:`0.95`}),(0,m.jsx)(`circle`,{cx:`12`,cy:`15.9`,r:`1.1`})]}),oxidizer:()=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`circle`,{className:`ghs-symbol`,cx:`12`,cy:`15.1`,r:`3.05`}),(0,m.jsx)(`path`,{className:`ghs-symbol-fill`,d:`M12 6c1.5 2 2.3 3.5 2.3 5a2.3 2.3 0 0 1-4.6 0c0-.55.1-1 .3-1.45-.05.4.1.7.4.9-.1-1.35.35-2.7 1.6-4.45Z`})]}),healthHazard:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`7.5`,r:`1.75`}),(0,m.jsx)(`path`,{d:`M8.3 17c.1-3.15 1.7-5.1 3.7-5.1s3.6 1.95 3.7 5.1`}),(0,m.jsx)(`path`,{d:`M12 12.6v3.4`}),(0,m.jsx)(`path`,{d:`M10.5 14.3h3`}),(0,m.jsx)(`path`,{d:`M10.8 13.15l2.4 2.4`}),(0,m.jsx)(`path`,{d:`M13.2 13.15l-2.4 2.4`})]}),environment:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`path`,{d:`M8.7 7.4v6.2`}),(0,m.jsx)(`path`,{d:`M8.7 9.7 7 8.2`}),(0,m.jsx)(`path`,{d:`M8.7 8.9l1.9-1.6`}),(0,m.jsx)(`path`,{d:`M8.7 11.7 7 13`}),(0,m.jsx)(`path`,{d:`M6 15.9c1.35.85 2.85.85 4.2 0`}),(0,m.jsx)(`path`,{d:`M13.6 15.9c1.35.85 2.85.85 4.2 0`}),(0,m.jsx)(`path`,{className:`ghs-symbol-fill`,d:`M14.9 12.6c1.7-.35 3.05.2 3.7 1.15-.7.95-2.1 1.5-3.7 1.15.35-.5.35-1.8 0-2.3Z`})]}),explosive:()=>(0,m.jsxs)(`g`,{children:[(0,m.jsx)(`circle`,{className:`ghs-symbol-fill`,cx:`12`,cy:`12`,r:`1.55`}),(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`path`,{d:`M12 6.5v2.3`}),(0,m.jsx)(`path`,{d:`M12 15.2v2.3`}),(0,m.jsx)(`path`,{d:`M6.5 12h2.3`}),(0,m.jsx)(`path`,{d:`M15.2 12h2.3`}),(0,m.jsx)(`path`,{d:`M8.3 8.3l1.6 1.6`}),(0,m.jsx)(`path`,{d:`M14.1 14.1l1.6 1.6`}),(0,m.jsx)(`path`,{d:`M15.7 8.3l-1.6 1.6`}),(0,m.jsx)(`path`,{d:`M9.9 14.1l-1.6 1.6`})]})]}),compressedGas:()=>(0,m.jsxs)(`g`,{className:`ghs-symbol`,children:[(0,m.jsx)(`rect`,{x:`9.3`,y:`9.1`,width:`5.4`,height:`8.4`,rx:`1.3`}),(0,m.jsx)(`rect`,{x:`10.55`,y:`6.35`,width:`2.9`,height:`2.4`,rx:`0.5`}),(0,m.jsx)(`line`,{x1:`9.6`,y1:`12.6`,x2:`14.4`,y2:`12.6`})]})};function ne(e){let t=(0,O.c)(7),{kind:n,className:r}=e,i=te[n],a=k[n],o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,m.jsx)(`polygon`,{className:`ghs-diamond`,points:ee}),t[0]=o):o=t[0];let s;t[1]===i?s=t[2]:(s=(0,m.jsx)(i,{}),t[1]=i,t[2]=s);let c;return t[3]!==r||t[4]!==a||t[5]!==s?(c=(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,role:`img`,"aria-label":a,className:r,children:[o,s]}),t[3]=r,t[4]=a,t[5]=s,t[6]=c):c=t[6],c}function re({title:e,icon:t=`alert`,iconColor:n=`var(--danger)`,cas:r,signalWord:o,pictograms:s,hazards:c,precautions:l,footer:u,delay:d}){let f=i[t]??i.alert,p=o===`Warning`,h=p?`var(--warning)`:`var(--danger)`,g=(s??[]).filter(e=>e in k),_=c??[],v=l??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,m.jsxs)(`div`,{className:`hc-cas`,children:[`CAS `,r]}),(0,m.jsxs)(`div`,{className:`hc-signal`,style:{"--hc-c":h},role:`status`,children:[(0,m.jsx)(`span`,{className:`hc-signal-icon`,children:(0,m.jsx)(i.alert,{})}),(0,m.jsx)(`span`,{className:`hc-signal-word`,children:p?`Warning`:`Danger`})]}),g.length>0&&(0,m.jsx)(`div`,{className:`hc-pictograms`,children:g.map((e,t)=>(0,m.jsxs)(`div`,{className:`hc-pic m-stagger-item m-scale-in`,style:{"--i":t},children:[(0,m.jsx)(ne,{kind:e,className:`hc-pic-glyph`}),(0,m.jsx)(`span`,{className:`hc-pic-label`,children:k[e]})]},t))}),_.length>0&&(0,m.jsxs)(`div`,{className:`hc-section`,children:[(0,m.jsx)(`div`,{className:`hc-section-label`,children:`Hazards`}),(0,m.jsx)(`div`,{className:`hc-codes`,children:_.map((e,t)=>(0,m.jsxs)(`div`,{className:`hc-code-row m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`hc-code`,children:e.code}),(0,m.jsx)(`span`,{className:`hc-code-text`,children:e.text})]},t))})]}),v.length>0&&(0,m.jsxs)(`div`,{className:`hc-section`,children:[(0,m.jsx)(`div`,{className:`hc-section-label`,children:`Precautions`}),(0,m.jsx)(`div`,{className:`hc-codes`,children:v.map((e,t)=>(0,m.jsxs)(`div`,{className:`hc-code-row m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`hc-code`,children:e.code}),(0,m.jsx)(`span`,{className:`hc-code-text`,children:e.text})]},t))})]}),u&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}function ie({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,topic:r,asOf:o,items:s,footer:c,delay:l}){let u=i[t]??i.globe,d=s??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`nd-meta`,children:[r&&(0,m.jsx)(`span`,{className:`nd-topic`,children:r}),(0,m.jsx)(`span`,{className:`nd-asof`,children:o})]}),(0,m.jsx)(`div`,{className:`nd-items`,children:d.map((e,t)=>(0,m.jsxs)(`div`,{className:`nd-item`,children:[(0,m.jsx)(`div`,{className:`nd-headline`,...t===0?{"data-mark":`underline`}:{},children:e.headline}),(e.source||e.time||e.category)&&(0,m.jsxs)(`div`,{className:`nd-item-meta`,children:[e.source&&(0,m.jsx)(`span`,{className:`nd-source`,children:e.source}),e.time&&(0,m.jsx)(`span`,{className:`nd-time`,children:e.time}),e.category&&(0,m.jsx)(`span`,{className:`nd-cat`,children:e.category})]}),e.summary&&(0,m.jsx)(`div`,{className:`nd-summary`,children:e.summary})]},t))}),c&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}function ae({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,fromLang:r,toLang:o,text:c,result:l,pairs:u,footer:d,delay:f}){let p=i[t]??i.globe,h=u??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`tl-langs`,children:[(0,m.jsx)(`span`,{className:`tl-from`,children:r}),(0,m.jsx)(`span`,{className:`tl-arrow`,children:`→`}),(0,m.jsx)(`span`,{className:`tl-to`,children:o})]}),(0,m.jsxs)(`div`,{className:`tl-pair`,children:[(0,m.jsx)(`div`,{className:`tl-source`,children:(0,m.jsx)(`div`,{className:`tl-text`,style:{color:`var(--text-secondary)`},children:c})}),(0,m.jsx)(`div`,{className:`tl-result`,children:(0,m.jsx)(`div`,{className:`tl-text`,style:{fontWeight:600},"data-mark":`underline`,children:l})})]}),(0,m.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,marginTop:6},children:(0,m.jsx)(s,{text:l,label:`Copy ${o} translation`})}),h.length>0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{style:{fontSize:`var(--fs-xs, 11px)`,fontWeight:700,color:`var(--text-muted)`,textTransform:`uppercase`,letterSpacing:`0.07em`,marginTop:14,marginBottom:4},children:`Breakdown`}),(0,m.jsx)(`div`,{className:`tl-breakdowns`,children:h.map((e,t)=>(0,m.jsxs)(`div`,{className:`tl-bp`,children:[(0,m.jsx)(`span`,{className:`tl-bp-orig`,children:e.original}),(0,m.jsxs)(`span`,{className:`tl-bp-trans`,children:[e.translated,e.note&&(0,m.jsx)(`span`,{className:`tl-bp-note`,style:{display:`block`,marginTop:2},children:e.note})]})]},t))})]}),d&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}function oe({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,word:r,ipa:o,syllables:s,tips:c,footer:l,delay:u}){let d=i[t]??i.doc,f=c??[],p=(()=>{if(!s)return[];let e=s.split(`·`);if(!o)return e.map(e=>({text:e,stressed:!1}));let t=(()=>{let t=o.indexOf(`ˈ`);if(t===-1)return-1;let n=o.replace(/[/[\]]/g,``),r=t/Math.max(n.length,1);return Math.min(Math.round(r*e.length),e.length-1)})();return e.map((e,n)=>({text:e,stressed:n===t}))})();return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`pr-word`,children:r}),o&&(0,m.jsx)(`div`,{className:`pr-ipa`,style:{display:`inline-block`,fontFamily:`var(--font-mono, monospace)`,fontStyle:`normal`,background:`var(--grid-line)`,borderRadius:`var(--r-sm, 4px)`,padding:`2px 8px`,marginTop:6,fontSize:`var(--fs-sm, 14px)`,color:`var(--text-primary)`,letterSpacing:`0.04em`},children:o}),p.length>0&&(0,m.jsx)(`div`,{className:`pr-syllables`,children:p.map((e,t)=>(0,m.jsxs)(`span`,{children:[t>0&&(0,m.jsx)(`span`,{"aria-hidden":`true`,style:{color:`var(--text-muted)`},children:`·`}),(0,m.jsx)(`span`,{style:e.stressed?{fontWeight:800,color:`var(--presence)`}:{fontWeight:400,color:`var(--text-secondary)`},...e.stressed?{"data-mark":`underline`}:{},children:e.text})]},t))}),f.length>0&&(0,m.jsx)(`div`,{className:`pr-tips`,children:f.map((e,t)=>(0,m.jsx)(`div`,{className:`pr-tip`,children:e},t))}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function se({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,word:r,phonetic:o,senses:s,etymology:c,footer:l,delay:u}){let d=i[t]??i.doc,f=s??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`dc-word`,children:r}),o&&(0,m.jsx)(`div`,{className:`dc-phonetic`,style:{fontFamily:`monospace`,fontStyle:`normal`},children:o}),f.length>0&&(0,m.jsx)(`ol`,{className:`dc-senses`,style:{listStyle:`none`,padding:0,margin:0},children:f.map((e,t)=>(0,m.jsxs)(`li`,{className:`dc-sense`,children:[(0,m.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:4},children:[(0,m.jsxs)(`span`,{style:{fontSize:`var(--fs-xs, 11px)`,fontWeight:700,color:`var(--text-faint)`,minWidth:`1.4em`},children:[t+1,`.`]}),(0,m.jsx)(`span`,{className:`dc-pos`,children:e.pos})]}),(0,m.jsx)(`div`,{className:`dc-def`,style:{paddingLeft:`calc(1.4em + 8px)`},...t===0?{"data-mark":`underline`}:{},children:e.definition}),e.example&&(0,m.jsx)(`div`,{className:`dc-example`,style:{marginLeft:`calc(1.4em + 8px)`},children:e.example}),(e.synonyms??[]).length>0&&(0,m.jsxs)(`div`,{className:`dc-synonyms`,style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:4,marginLeft:`calc(1.4em + 8px)`},children:[(0,m.jsx)(`span`,{style:{color:`var(--text-faint)`,marginRight:2},children:`syn.`}),(e.synonyms??[]).map((e,t)=>(0,m.jsx)(`span`,{style:{fontSize:`var(--fs-xs, 11px)`,padding:`1px 7px`,borderRadius:999,background:`var(--track)`,color:`var(--text-secondary)`,lineHeight:1.7},children:e},t))]})]},t))}),c&&(0,m.jsxs)(`div`,{className:`dc-etymology`,children:[(0,m.jsx)(`span`,{style:{fontWeight:600,fontStyle:`normal`,color:`var(--text-muted)`},children:`Etymology `}),c]}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function ce({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,domain:r,entries:o,footer:s,delay:c}){let l=i[t]??i.doc,u=(0,p.useMemo)(()=>[...o??[]].sort((e,t)=>e.term.localeCompare(t.term,void 0,{sensitivity:`base`})),[o]);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,m.jsx)(`div`,{className:`gl-domain`,children:r}),(0,m.jsx)(`div`,{className:`gl-entries`,children:u.map((e,t)=>{let n=e.term.charAt(0).toUpperCase(),r=n!==(t===0?null:u[t-1].term.charAt(0).toUpperCase());return(0,m.jsxs)(`div`,{children:[r&&(0,m.jsx)(`div`,{className:`gl-letter-divider`,"aria-hidden":`true`,children:n}),(0,m.jsxs)(`div`,{className:`gl-entry`,children:[(0,m.jsx)(`div`,{className:`gl-term`,children:e.term}),(0,m.jsx)(`div`,{className:`gl-def`,children:e.definition}),e.see&&(0,m.jsxs)(`div`,{className:`gl-see`,children:[`See also: `,(0,m.jsx)(`span`,{style:{fontStyle:`italic`},children:e.see})]})]})]},t)})}),s&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}function A({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,value:r,unit:o,comparisons:s,footer:c,delay:l}){let u=i[t]??i.layers,d=s??[],f=e=>{let t=typeof e.howMany==`number`?e.howMany:Number(String(e.howMany).trim());return Number.isFinite(t)&&t>0?t:null},p=d.reduce((e,t)=>{let n=f(t);return n!==null&&n>e?n:e},0);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`scf-figure`,"data-mark":`underline`,children:[(0,m.jsx)(`span`,{className:`scf-value`,children:r}),o&&(0,m.jsx)(`span`,{className:`scf-unit`,children:o})]}),d.length>0&&(0,m.jsx)(`div`,{className:`scf-rows`,children:d.map((e,t)=>{let n=f(e),r=n!==null&&p>0?Math.max(n/p*100,4):0;return(0,m.jsxs)(`div`,{className:`scf-row`,children:[(0,m.jsxs)(`div`,{className:`scf-line`,children:[(0,m.jsx)(`span`,{className:`scf-count`,children:e.howMany}),(0,m.jsx)(`span`,{className:`scf-to`,children:e.to})]}),r>0&&(0,m.jsx)(`div`,{className:`scf-track`,"aria-hidden":`true`,children:(0,m.jsx)(`div`,{className:`scf-bar`,style:{width:r+`%`}})}),e.note&&(0,m.jsx)(`div`,{className:`scf-note`,children:e.note})]},t)})}),c&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var j=typeof window<`u`?window.AudioContext??window.webkitAudioContext:void 0,le={C:0,"C#":1,DB:1,D:2,"D#":3,EB:3,E:4,FB:4,F:5,"E#":5,"F#":6,GB:6,G:7,"G#":8,AB:8,A:9,"A#":10,BB:10,B:11,CB:11};function ue(e){let t=/^([A-Ga-g])([#b]?)(-?\d{1,2})$/.exec(e.trim());if(!t)return null;let n=le[t[1].toUpperCase()+(t[2]===`#`?`#`:t[2]===`b`?`B`:``)];return n===void 0?null:440*2**((n+(Number(t[3])+1)*12-69)/12)}function M(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=e.trim(),n=Number(t);return t!==``&&Number.isFinite(n)?n:ue(t)}var N={word:`chat`,note:`speaker`,tone:`speaker`};function P({title:e,icon:t=`speaker`,iconColor:n=`var(--presence)`,items:r,footer:o,delay:s}){let c=i[t]??i.speaker,f=r??[],[h,g]=(0,p.useState)(null),[_,v]=(0,p.useState)(!1),y=(0,p.useRef)(null),b=(0,p.useRef)(null),x=(0,p.useCallback)(()=>{if(b.current!==null&&(clearTimeout(b.current),b.current=null),y.current){let e=y.current;y.current=null,e.close().catch(()=>{})}d()},[]);(0,p.useEffect)(()=>x,[x]);let S=(0,p.useCallback)((e,t)=>{g(t),u(e,`mavea`).then(e=>{g(e=>e===t?null:e),!e&&l()===!1&&v(!0)})},[]),C=(0,p.useCallback)((e,t)=>{if(!j)return;let n=new j;y.current=n;let r=n.currentTime,i=.6,a=n.createOscillator();a.type=`sine`,a.frequency.setValueAtTime(e,r);let o=n.createGain();o.gain.setValueAtTime(1e-4,r),o.gain.exponentialRampToValueAtTime(.22,r+.04),o.gain.exponentialRampToValueAtTime(1e-4,r+i),a.connect(o).connect(n.destination),a.start(r),a.stop(r+i),g(t),a.onended=()=>{g(e=>e===t?null:e),y.current===n&&(y.current=null,n.close().catch(()=>{}))},b.current=setTimeout(()=>{y.current===n&&(y.current=null,n.close().catch(()=>{}),g(e=>e===t?null:e))},750)},[]),w=(0,p.useCallback)((e,t)=>{if(x(),e.kind===`word`){S(String(e.value),t);return}let n=M(e.value);n===null||n<=0||C(n,t)},[x,S,C]),T=e=>e.kind===`word`||!!j&&M(e.value)!==null,E=j?`This note can’t be played`:`Audio playback is unavailable in this browser`;return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`ul`,{className:`hri-rows`,children:f.map((e,t)=>{let n=T(e),r=h===t,a=i[N[e.kind]]??i.speaker;return(0,m.jsxs)(`li`,{className:`hri-row`,"data-playing":r||void 0,children:[(0,m.jsx)(`button`,{type:`button`,className:`hri-play`,onClick:()=>w(e,t),disabled:!n,title:n?`Play ${e.label}`:E,"aria-label":n?`Play ${e.label}`:`${e.label} — ${E}`,children:r?(0,m.jsxs)(`span`,{className:`hri-wave`,"aria-hidden":`true`,children:[(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{})]}):(0,m.jsx)(i.play,{className:`ic hri-play-ic`,style:{width:13,height:13}})}),(0,m.jsxs)(`div`,{className:`hri-body`,children:[(0,m.jsx)(`div`,{className:`hri-label`,children:e.label}),e.sub&&(0,m.jsx)(`div`,{className:`hri-sub`,children:e.sub})]}),(0,m.jsxs)(`span`,{className:`hri-kind`,children:[(0,m.jsx)(a,{className:`ic hri-kind-ic`,style:{width:12,height:12}}),e.kind]})]},t)})}),_&&(0,m.jsx)(`p`,{className:`insight-summary`,role:`status`,style:{marginTop:12},children:`Voice is off — start the local voice service to hear this.`}),o&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}var F=[{s:`i`,back:0,high:0},{s:`y`,back:0,high:0,rounded:!0},{s:`ɨ`,back:.5,high:0},{s:`u`,back:1,high:0,rounded:!0},{s:`ɪ`,back:.18,high:.18},{s:`ʊ`,back:.82,high:.18,rounded:!0},{s:`e`,back:0,high:.34},{s:`ø`,back:0,high:.34,rounded:!0},{s:`ə`,back:.5,high:.5},{s:`o`,back:1,high:.34,rounded:!0},{s:`ɛ`,back:.08,high:.66},{s:`ɜ`,back:.5,high:.66},{s:`ʌ`,back:.78,high:.66},{s:`ɔ`,back:1,high:.66,rounded:!0},{s:`a`,back:.06,high:1},{s:`æ`,back:.16,high:.84},{s:`ɑ`,back:.9,high:1},{s:`ɒ`,back:1,high:1,rounded:!0}],I=[`Plosive`,`Nasal`,`Fricative`,`Approx.`,`Lateral`],L=[`Bilab.`,`Labiod.`,`Dental`,`Alveolar`,`Postalv.`,`Velar`,`Glottal`],R={"Plosive|Bilab.":[`p`,`b`],"Plosive|Alveolar":[`t`,`d`],"Plosive|Velar":[`k`,`g`],"Plosive|Glottal":[`ʔ`,``],"Nasal|Bilab.":[``,`m`],"Nasal|Alveolar":[``,`n`],"Nasal|Velar":[``,`ŋ`],"Fricative|Labiod.":[`f`,`v`],"Fricative|Dental":[`θ`,`ð`],"Fricative|Alveolar":[`s`,`z`],"Fricative|Postalv.":[`ʃ`,`ʒ`],"Fricative|Glottal":[`h`,``],"Approx.|Postalv.":[``,`ɹ`],"Approx.|Velar":[``,`w`],"Lateral|Alveolar":[``,`l`]};function z(e){return e.replace(/[ː/[\].ˈˌ]/g,``).trim()}function B({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,kind:r=`vowels`,highlight:o,examples:s,caption:c,footer:l,delay:u}){let d=i[t]??i.globe,f=s??[],p=new Set((o??[]).map(z)),h=e=>p.has(z(e));return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),r===`consonants`?(0,m.jsx)(U,{isHot:h}):(0,m.jsx)(V,{isHot:h}),c&&(0,m.jsx)(`div`,{className:`ipa-caption`,children:c}),f.length>0&&(0,m.jsx)(`ul`,{className:`ipa-examples`,children:f.map((e,t)=>(0,m.jsxs)(`li`,{className:`ipa-ex`,...h(e.symbol)?{"data-hot":``}:{},children:[(0,m.jsx)(`span`,{className:`ipa-ex-sym`,children:e.symbol}),(0,m.jsx)(`span`,{className:`ipa-ex-word`,children:e.word})]},t))}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function V(e){let t=(0,O.c)(31),{isHot:n}=e,r,i,a,o,s,c,l,u,d,f,p,h;if(t[0]!==n){let e={x:12,y:14},g={x:92,y:14},_={x:34,y:86},v={x:80,y:86},y=H,b=(t,n)=>{let r=y(e.x,_.x,n),i=y(g.x,v.x,n),a=y(e.y,_.y,n);return{x:y(r,i,t),y:a}};o=`ipa-quad`,r=`0 0 104 100`,s=`100%`,c=`img`,l=`IPA vowel quadrilateral`;let x=`${e.x},${e.y} ${g.x},${g.y} ${v.x},${v.y} ${_.x},${_.y}`;t[13]===x?u=t[14]:(u=(0,m.jsx)(`polygon`,{points:x,fill:`none`,stroke:`var(--line-strong)`,strokeWidth:.8}),t[13]=x,t[14]=u),d=[.34,.5,.66].map((e,t)=>{let n=b(0,e),r=b(1,e);return(0,m.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,stroke:`var(--grid-line)`,strokeWidth:.5},t)}),f=(0,m.jsx)(`line`,{x1:b(.5,0).x,y1:b(.5,0).y,x2:b(.5,1).x,y2:b(.5,1).y,stroke:`var(--grid-line)`,strokeWidth:.5}),p=(0,m.jsx)(`text`,{x:e.x,y:9,className:`ipa-axis`,textAnchor:`start`,children:`Front`}),h=(0,m.jsx)(`text`,{x:g.x,y:9,className:`ipa-axis`,textAnchor:`end`,children:`Back`}),t[15]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,m.jsx)(`text`,{className:`ipa-axis`,transform:`translate(6, 50) rotate(-90)`,textAnchor:`middle`,children:`Close → Open`}),t[15]=i):i=t[15],a=F.map(e=>{let t=b(e.back,e.high),r=e.rounded?3:0,i=n(e.s);return(0,m.jsxs)(`g`,{transform:`translate(${t.x+r}, ${t.y})`,children:[i&&(0,m.jsx)(`circle`,{r:4.4,className:`ipa-vowel-halo`}),(0,m.jsx)(`text`,{className:`ipa-vowel`,textAnchor:`middle`,dominantBaseline:`central`,...i?{"data-hot":``}:{},children:e.s})]},e.s)}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=h}else r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],h=t[12];let g;t[16]!==r||t[17]!==i||t[18]!==a||t[19]!==s||t[20]!==c||t[21]!==l||t[22]!==u||t[23]!==d||t[24]!==f||t[25]!==p||t[26]!==h?(g=(0,m.jsxs)(`svg`,{viewBox:r,width:s,role:c,"aria-label":l,children:[u,d,f,p,h,i,a]}),t[16]=r,t[17]=i,t[18]=a,t[19]=s,t[20]=c,t[21]=l,t[22]=u,t[23]=d,t[24]=f,t[25]=p,t[26]=h,t[27]=g):g=t[27];let _;return t[28]!==o||t[29]!==g?(_=(0,m.jsx)(`div`,{className:o,children:g}),t[28]=o,t[29]=g,t[30]=_):_=t[30],_}function H(e,t,n){return e+(t-e)*n}function U(e){let t=(0,O.c)(7),{isHot:n}=e,r;t[0]===n?r=t[1]:(r=e=>{let{s:t}=e;return t?(0,m.jsx)(`span`,{className:`ipa-cgrid-sym`,...n(t)?{"data-hot":``}:{},children:t}):(0,m.jsx)(`span`,{className:`ipa-cgrid-empty`,children:`·`})},t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{children:[(0,m.jsx)(`th`,{className:`ipa-cgrid-corner`}),L.map(de)]})}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=I.map(e=>(0,m.jsxs)(`tr`,{children:[(0,m.jsx)(`th`,{className:`ipa-cgrid-manner`,scope:`row`,children:e}),L.map(t=>{let n=R[`${e}|${t}`];return(0,m.jsx)(`td`,{className:`ipa-cgrid-cell`,children:n?(0,m.jsxs)(`span`,{className:`ipa-cgrid-pair`,children:[(0,m.jsx)(i,{s:n[0]}),(0,m.jsx)(i,{s:n[1]})]}):(0,m.jsx)(`span`,{className:`ipa-cgrid-na`,"aria-hidden":`true`})},t)})]},e)),t[3]=i,t[4]=o);let s;return t[5]===o?s=t[6]:(s=(0,m.jsx)(`div`,{className:`ipa-cgrid-wrap`,children:(0,m.jsxs)(`table`,{className:`ipa-cgrid`,children:[a,(0,m.jsx)(`tbody`,{children:o})]})}),t[5]=o,t[6]=s),s}function de(e){return(0,m.jsx)(`th`,{className:`ipa-cgrid-place`,scope:`col`,children:e},e)}function fe(e){let t=e.match(/-?\d*\.?\d+/g);if(!t||t.length<2)return null;let n=Number(t[0]),r=Number(t[1]);return!Number.isFinite(n)||!Number.isFinite(r)?null:{x:n,y:r}}function pe({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,glyph:r,strokes:o,grid:s=`mi`,romanization:c,meaning:l,caption:u,footer:d,delay:f}){let p=i[t]??i.edit,h=[...o??[]].sort((e,t)=>e.order-t.order),g=h.some(e=>e.path&&e.path.trim().length>0);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`ss-stage`,children:[(0,m.jsx)(`div`,{className:`ss-square`,children:(0,m.jsxs)(`svg`,{viewBox:`0 0 100 100`,width:`100%`,role:`img`,"aria-label":`Writing guide for ${r}`,children:[(0,m.jsx)(`rect`,{x:1,y:1,width:98,height:98,rx:2,fill:`none`,stroke:`var(--line-strong)`,strokeWidth:.8}),s!==`none`&&(0,m.jsxs)(`g`,{stroke:`var(--grid-line)`,strokeWidth:.6,strokeDasharray:`3 2.5`,children:[(0,m.jsx)(`line`,{x1:50,y1:1,x2:50,y2:99}),(0,m.jsx)(`line`,{x1:1,y1:50,x2:99,y2:50}),s===`mi`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`line`,{x1:1,y1:1,x2:99,y2:99}),(0,m.jsx)(`line`,{x1:99,y1:1,x2:1,y2:99})]})]}),g?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`text`,{x:50,y:54,className:`ss-ghost`,textAnchor:`middle`,dominantBaseline:`central`,children:r}),h.map((e,t)=>e.path?(0,m.jsx)(`path`,{d:e.path,className:`ss-stroke`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{"--i":t}},`p${t}`):null),h.map((e,t)=>{let n=e.path?fe(e.path):null;return n?(0,m.jsxs)(`g`,{transform:`translate(${n.x}, ${n.y})`,children:[(0,m.jsx)(`circle`,{r:4.6,className:`ss-badge-bg`}),(0,m.jsx)(`text`,{className:`ss-badge-num`,textAnchor:`middle`,dominantBaseline:`central`,children:e.order})]},`b${t}`):null})]}):(0,m.jsx)(`text`,{x:50,y:54,className:`ss-glyph`,textAnchor:`middle`,dominantBaseline:`central`,children:r})]})}),(0,m.jsxs)(`div`,{className:`ss-meta`,children:[(0,m.jsx)(`div`,{className:`ss-glyph-sm`,"aria-hidden":`true`,children:r}),c&&(0,m.jsxs)(`div`,{className:`ss-romanization`,children:[(0,m.jsx)(`span`,{className:`ss-meta-k`,children:`Reading`}),(0,m.jsx)(`span`,{className:`ss-meta-v`,children:c})]}),l&&(0,m.jsxs)(`div`,{className:`ss-meaning`,children:[(0,m.jsx)(`span`,{className:`ss-meta-k`,children:`Meaning`}),(0,m.jsx)(`span`,{className:`ss-meta-v`,children:l})]}),(0,m.jsxs)(`div`,{className:`ss-count`,children:[h.length,` `,h.length===1?`stroke`:`strokes`]})]})]}),h.length>0&&(0,m.jsx)(`ol`,{className:`ss-steps`,children:h.map((e,t)=>(0,m.jsxs)(`li`,{className:`ss-step`,children:[(0,m.jsx)(`span`,{className:`ss-step-num`,children:e.order}),(0,m.jsx)(`span`,{className:`ss-step-hint`,children:e.hint??`Stroke ${e.order}`})]},t))}),u&&(0,m.jsx)(`div`,{className:`ipa-caption`,children:u}),d&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var me=`silent`;function he({title:e,icon:t=`captions`,iconColor:n=`var(--presence)`,word:r,chunks:o,rhymes:s,caption:c,footer:f,delay:h}){let g=i[t]??i.captions,_=(o??[]).filter(e=>e&&e.text),v=(s??[]).filter(Boolean),[y,b]=(0,p.useState)(null),[x,S]=(0,p.useState)(!1);(0,p.useEffect)(()=>()=>d(),[]);let C=(0,p.useCallback)((e,t)=>{d(),b(t),u(e,`mavea`).then(e=>{b(e=>e===t?null:e),!e&&l()===!1&&S(!0)})},[]);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h??0)+`ms`},children:[e&&(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`pw-word`,role:`group`,"aria-label":`Sound out ${r}`,children:_.map((e,t)=>{let n=e.kind??`grapheme`,r=n===me;return(0,m.jsxs)(`button`,{type:`button`,className:`pw-chunk`,"data-kind":n,"data-playing":y===t||void 0,disabled:r,onClick:()=>C(e.text,t),title:r?`"${e.text}" is silent`:`Hear "${e.text}"`,"aria-label":r?`${e.text}, silent`:`Hear ${e.text}${e.sound?`, ${e.sound}`:``}`,children:[(0,m.jsx)(`span`,{className:`pw-chunk-text`,children:e.text}),e.sound&&(0,m.jsx)(`span`,{className:`pw-chunk-sound`,children:e.sound})]},t)})}),(0,m.jsxs)(`button`,{type:`button`,className:`pw-blend`,"data-playing":y===-1||void 0,onClick:()=>C(r,-1),title:`Hear "${r}"`,"aria-label":`Hear the whole word, ${r}`,children:[y===-1?(0,m.jsxs)(`span`,{className:`pw-wave`,"aria-hidden":`true`,children:[(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{}),(0,m.jsx)(`span`,{})]}):(0,m.jsx)(i.play,{className:`ic pw-blend-ic`,style:{width:12,height:12}}),(0,m.jsx)(`span`,{className:`pw-blend-word`,children:r})]}),x&&(0,m.jsx)(`p`,{className:`insight-summary`,role:`status`,style:{marginTop:10},children:`Voice is off — start the local voice service to hear this.`}),c&&(0,m.jsx)(`div`,{className:`ipa-caption`,children:c}),v.length>0&&(0,m.jsxs)(`div`,{className:`pw-rhymes`,children:[(0,m.jsx)(`span`,{className:`pw-rhymes-k`,children:`Rhymes with`}),(0,m.jsx)(`ul`,{className:`pw-rhyme-list`,children:v.map((e,t)=>(0,m.jsx)(`li`,{className:`pw-rhyme`,children:e},t))})]}),f&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}var ge=[`noun`,`verb`,`adjective`,`adverb`,`pronoun`,`preposition`,`conjunction`,`determiner`,`interjection`],W={noun:`n.`,verb:`v.`,adjective:`adj.`,adverb:`adv.`,pronoun:`pron.`,preposition:`prep.`,conjunction:`conj.`,determiner:`det.`,interjection:`interj.`},_e=e=>typeof e==`string`&&Object.prototype.hasOwnProperty.call(W,e),ve=/^[¿¡([{«‹“‘]+$/;function G({title:e,icon:t=`captions`,iconColor:n=`var(--presence)`,tokens:r,sentence:o,translation:s,footer:c,delay:l}){let u=i[t]??i.captions,{groups:d,legend:f,notes:h}=(0,p.useMemo)(()=>{let e=Array.isArray(r)?r:[],t=0,n=[];for(let r of e){if(typeof r==`string`){r.trim()&&n.push({word:r});continue}if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.word!=`string`||!e.word.trim())continue;if(e.pos===`punctuation`){n.push({word:e.word,punct:!0});continue}let i=typeof e.note==`string`&&e.note.trim()?e.note:void 0;n.push({word:e.word,pos:_e(e.pos)?e.pos:void 0,note:i,noteIdx:i?++t:void 0})}let i=[],a=[];for(let e of n)if(e.punct){let t=i[i.length-1];t&&!ve.test(e.word)?t.trail.push(e):a.push(e)}else i.push({lead:a,word:e,trail:[]}),a=[];if(a.length){let e=i[i.length-1];e?e.trail.push(...a):i.push({lead:a,trail:[]})}let o=new Map;for(let e of n)e.pos&&o.set(e.pos,(o.get(e.pos)??0)+1);return{groups:i,legend:ge.filter(e=>o.has(e)).map(e=>({pos:e,count:o.get(e)??0})),notes:n.filter(e=>e.noteIdx!==void 0)}},[r]),[g,_]=(0,p.useState)(null),v=g&&f.some(e=>e.pos===g)?g:null,y=(e,t)=>(0,m.jsx)(`span`,{className:`psb-punct`,"data-dim":!!v||void 0,children:e.word},t);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),d.length>0?(0,m.jsx)(`div`,{className:`psb-flow`,children:d.map((e,t)=>(0,m.jsxs)(`span`,{className:`psb-group`,children:[e.lead.map((e,t)=>y(e,`l${t}`)),e.word&&(0,m.jsxs)(`span`,{className:`psb-token`,"data-pos":e.word.pos,"data-dim":!!v&&e.word.pos!==v||void 0,title:e.word.note?`${e.word.word} — ${e.word.note}`:void 0,children:[(0,m.jsxs)(`span`,{className:`psb-word`,children:[e.word.word,e.word.noteIdx!==void 0&&(0,m.jsx)(`sup`,{className:`psb-note-mark`,"aria-hidden":`true`,children:e.word.noteIdx})]}),e.word.pos&&(0,m.jsx)(`span`,{className:`psb-abbr`,"aria-hidden":`true`,children:W[e.word.pos]})]}),e.trail.map((e,t)=>y(e,`t${t}`))]},t))}):o?(0,m.jsx)(`p`,{className:`psb-plain`,children:o}):(0,m.jsx)(`div`,{className:`psb-empty`,children:`Nothing to break down yet.`}),s&&(0,m.jsx)(`div`,{className:`psb-translation`,children:s}),f.length>0&&(0,m.jsx)(`div`,{className:`psb-legend`,role:`group`,"aria-label":`Word classes in this sentence`,children:f.map(({pos:e,count:t})=>(0,m.jsxs)(`button`,{type:`button`,className:`psb-leg`,"data-pos":e,"aria-pressed":v===e,onClick:()=>_(t=>t===e?null:e),title:v===e?`Show every word`:`Spotlight every ${e}`,children:[(0,m.jsx)(`span`,{className:`psb-leg-dot`,"aria-hidden":`true`}),e,t>1&&(0,m.jsxs)(`span`,{className:`psb-leg-n`,children:[`×`,t]})]},e))}),h.length>0&&(0,m.jsx)(`ul`,{className:`psb-notes`,children:h.map(e=>(0,m.jsxs)(`li`,{className:`psb-note`,children:[(0,m.jsx)(`sup`,{className:`psb-note-num`,children:e.noteIdx}),(0,m.jsxs)(`span`,{className:`psb-note-text`,children:[(0,m.jsx)(`span`,{className:`psb-note-word`,children:e.word}),` — `,e.note]})]},e.noteIdx))}),c&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}function ye({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,commonName:r,scientificName:s,image:c,marks:l,lookalikes:u,status:d,caption:p,footer:h,delay:g}){let _=i[t]??i.globe,v=f(c?.from,`var(--presence-deep)`),y=f(c?.to,`var(--presence-soft)`),b=o(c?.src),x=l??[],S=u??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(g??0)+`ms`},children:[e&&(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`sp-banner`,style:{background:`linear-gradient(150deg, ${v}, ${y})`},children:[b&&(0,m.jsx)(`img`,{className:`me-img-fill`,src:b,alt:``,loading:`lazy`,decoding:`async`,referrerPolicy:`no-referrer`,onError:e=>{e.currentTarget.style.display=`none`}}),d&&(0,m.jsx)(`span`,{className:`sp-status`,children:d})]}),(0,m.jsx)(`div`,{className:`sp-common`,"data-mark":`underline`,children:r}),s&&(0,m.jsx)(`div`,{className:`sp-scientific`,children:s}),p&&(0,m.jsx)(`div`,{className:`sp-caption`,children:p}),x.length>0&&(0,m.jsx)(`div`,{className:`sp-marks`,children:x.map((e,t)=>(0,m.jsxs)(`div`,{className:`sp-mark`,children:[(0,m.jsx)(`span`,{className:`sp-mark-label`,children:e.label}),(0,m.jsx)(`span`,{className:`sp-mark-value`,children:e.value})]},t))}),S.length>0&&(0,m.jsxs)(`div`,{className:`sp-lookalikes`,children:[(0,m.jsxs)(`span`,{className:`sp-lookalikes-k`,children:[(0,m.jsx)(i.layers,{className:`ic sp-lookalikes-ic`}),` Easily confused with`]}),(0,m.jsx)(`ul`,{className:`sp-lookalike-list`,children:S.map((e,t)=>(0,m.jsx)(`li`,{className:`sp-lookalike`,children:e},t))})]}),h&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(h)})]})}function be({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,terms:r,footer:o,delay:s}){let c=i[t]??i.table,l=e=>typeof e==`string`&&e.trim()?e.trim():`—`,{rows:u,langs:d}=(0,p.useMemo)(()=>{let e=r??[],t=[],n=new Set;return{rows:e.map(e=>{let r=new Map;for(let i of e.translations??[]){if(!i||typeof i!=`object`)continue;let e=l(i.lang);n.has(e)||(n.add(e),t.push(e)),r.has(e)||r.set(e,i)}return{term:e,cells:r}}),langs:t}},[r]),f=e=>{if(e===`preferred`)return`var(--insight)`;if(e===`deprecated`)return`var(--warning)`;if(e===`avoid`)return`var(--danger)`};return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),u.length===0?(0,m.jsx)(`div`,{className:`tb-empty`,children:`No terms yet.`}):d.length===0?(0,m.jsx)(`ul`,{className:`tb-flat`,children:u.map(({term:e},t)=>(0,m.jsx)(`li`,{className:`tb-flat-term m-stagger-item m-fade-rise`,style:{"--i":t},children:e.term},t))}):(0,m.jsx)(`div`,{className:`tb-wrap`,children:(0,m.jsxs)(`table`,{className:`tb-table`,children:[(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{children:[(0,m.jsx)(`th`,{scope:`col`,children:`Term`}),d.map(e=>(0,m.jsx)(`th`,{scope:`col`,children:e},e))]})}),(0,m.jsx)(`tbody`,{children:u.map(({term:e,cells:t},n)=>(0,m.jsxs)(`tr`,{className:`m-stagger-item m-fade-rise`,style:{"--i":n},children:[(0,m.jsx)(`td`,{className:`tb-term-col`,children:e.term}),d.map(e=>{let n=t.get(e),r=n&&typeof n.text==`string`?n.text:``,i=f(n?.status);return(0,m.jsx)(`td`,{className:`tb-cell`,children:r?(0,m.jsxs)(`span`,{className:`tb-cell-text`,children:[i&&(0,m.jsx)(`span`,{className:`tb-dot`,style:{"--tb-c":i},title:n?.status}),r]}):(0,m.jsx)(`span`,{className:`tb-dash`,children:`—`})},e)})]},n))})]})}),o&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}var K={whale:{w:240,h:70,orient:`horizontal`},bus:{w:200,h:90,orient:`horizontal`},generic:{w:90,h:70,orient:`horizontal`},human:{w:40,h:100,orient:`vertical`},building:{w:70,h:160,orient:`vertical`}};function xe(e){return typeof e==`string`&&e in K}function Se(e){let t=(0,O.c)(21),n,r;t[0]===e?(n=t[1],r=t[2]):({shape:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i=K[n],a=`0 0 ${i.w} ${i.h}`,o;t[3]===n?o=t[4]:(o=n===`human`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`circle`,{cx:`20`,cy:`11`,r:`10`}),(0,m.jsx)(`path`,{d:`M8 30 Q20 22 32 30 L34 62 Q27 68 20 68 Q13 68 6 62 Z`}),(0,m.jsx)(`path`,{d:`M11 66 L8 100 L17 100 L19 70 Z`}),(0,m.jsx)(`path`,{d:`M29 66 L32 100 L23 100 L21 70 Z`})]}),t[3]=n,t[4]=o);let s;t[5]===n?s=t[6]:(s=n===`bus`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`path`,{d:`M6 20 Q6 8 18 8 H172 Q188 8 188 24 V58 Q188 66 180 66 H16 Q6 66 6 56 Z`}),(0,m.jsx)(`rect`,{x:`18`,y:`17`,width:`152`,height:`19`,rx:`3`,className:`szc-glyph-cut`,fill:`var(--surface-elevated)`}),(0,m.jsx)(`circle`,{cx:`46`,cy:`70`,r:`13`}),(0,m.jsx)(`circle`,{cx:`154`,cy:`70`,r:`13`})]}),t[5]=n,t[6]=s);let c;t[7]===n?c=t[8]:(c=n===`whale`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`path`,{d:`M4 40 C4 20 40 10 100 9 C170 8 210 20 224 32 L236 26 L232 42 L236 56 L224 50 C214 60 170 66 100 65 C40 64 4 56 4 40 Z`}),(0,m.jsx)(`path`,{d:`M60 12 C64 2 76 2 78 12 C72 14 66 14 60 12 Z`}),(0,m.jsx)(`path`,{d:`M18 46 C22 54 34 56 40 50 C34 46 24 44 18 46 Z`})]}),t[7]=n,t[8]=c);let l;t[9]===n?l=t[10]:(l=n===`building`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`rect`,{x:`10`,y:`6`,width:`50`,height:`154`,rx:`2`}),Array.from({length:8},Ce)]}),t[9]=n,t[10]=l);let u;t[11]===n?u=t[12]:(u=n===`generic`&&(0,m.jsx)(`path`,{d:`M8 55 Q2 30 28 18 Q46 4 66 14 Q86 22 82 42 Q90 52 78 58 Q55 68 30 64 Q12 62 8 55 Z`}),t[11]=n,t[12]=u);let d;return t[13]!==r||t[14]!==a||t[15]!==o||t[16]!==s||t[17]!==c||t[18]!==l||t[19]!==u?(d=(0,m.jsxs)(`svg`,{viewBox:a,preserveAspectRatio:`xMidYMax meet`,fill:`currentColor`,"aria-hidden":`true`,...r,children:[o,s,c,l,u]}),t[13]=r,t[14]=a,t[15]=o,t[16]=s,t[17]=c,t[18]=l,t[19]=u,t[20]=d):d=t[20],d}function Ce(e,t){return Array.from({length:3},(e,n)=>(0,m.jsx)(`rect`,{x:17+n*13,y:16+t*17,width:`8`,height:`9`,rx:`1`,className:`szc-glyph-cut`,fill:`var(--surface-elevated)`},`${t}-${n}`))}var we=190,q=16;function Te(e,t){if(typeof e!=`number`||!Number.isFinite(e))return`—`;let n=e.toLocaleString(void 0,{maximumFractionDigits:2});return t?`${n} ${t}`:n}function Ee({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,unit:r,subjects:o,footer:s,delay:c}){let l=i[t]??i.layers,u=o??[],d=u.reduce((e,t)=>{let n=typeof t.length==`number`&&Number.isFinite(t.length)?t.length:-1/0;return n>e?n:e},0),f=d>0?we/d:0,p=u.map(e=>{let t=xe(e.shape)?e.shape:`generic`,n=K[t],r=typeof e.length==`number`&&Number.isFinite(e.length)&&e.length>0&&f>0?Math.max(e.length*f,q):q;return{subject:e,shape:t,width:n.orient===`horizontal`?r:r*(n.w/n.h),height:n.orient===`vertical`?r:r*(n.h/n.w)}}),h=Math.max(...p.map(e=>e.height),q);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),p.length===0?(0,m.jsx)(`div`,{className:`szc-empty`,children:`No subjects yet.`}):(0,m.jsx)(`div`,{className:`szc-scroll`,children:(0,m.jsx)(`div`,{className:`szc-row`,style:{"--szc-track-h":h+`px`},children:p.map(({subject:e,shape:t,width:i,height:a},o)=>(0,m.jsxs)(`div`,{className:`szc-item m-stagger-item m-scale-in`,style:{"--i":o,color:n},children:[(0,m.jsx)(`div`,{className:`szc-shape-box`,children:(0,m.jsx)(Se,{shape:t,style:{width:i,height:a}})}),(0,m.jsx)(`div`,{className:`szc-item-label`,...o===0?{"data-mark":`underline`}:{},children:e.label}),(0,m.jsx)(`div`,{className:`szc-item-value`,children:Te(e.length,r)})]},o))})}),s&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}function De(e){let t=Array.from(e),n=t.length;return t.map((e,t)=>({ch:e,group:Math.floor((n-1-t)/4)}))}function Oe({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,value:r,bases:o,footer:s,delay:c}){let l=i[t]??i.chart,u=o??[],d=typeof r==`string`||typeof r==`number`?String(r):``;return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),d&&(0,m.jsx)(`div`,{className:`bcv-value`,"data-mark":`underline`,children:d}),u.length>0?(0,m.jsx)(`div`,{className:`bcv-rows`,children:u.map((e,t)=>{let n=typeof e.digits==`string`?e.digits.trim():``,r=typeof e.radix==`number`&&Number.isFinite(e.radix)?e.radix:null;return(0,m.jsxs)(`div`,{className:`bcv-row m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsxs)(`div`,{className:`bcv-row-head`,children:[(0,m.jsx)(`span`,{className:`bcv-label`,children:e.label}),r!==null&&(0,m.jsxs)(`span`,{className:`bcv-radix`,children:[`base `,r]})]}),n?(0,m.jsx)(`div`,{className:`bcv-digits`,children:De(n).map((e,t)=>(0,m.jsx)(`span`,{className:`bcv-digit`,"data-group":e.group%2==0?`a`:`b`,children:e.ch},t))}):(0,m.jsx)(`span`,{className:`bcv-dash`,children:`—`})]},t)})}):(0,m.jsx)(`div`,{className:`bcv-empty`,children:`No bases yet.`}),s&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}function ke(e){let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:t.length===1?t[0][0]?.toUpperCase()??`?`:((t[0][0]??``)+(t[t.length-1][0]??``)).toUpperCase()}function Ae(e){return typeof e==`string`&&e.trim()||typeof e==`number`&&Number.isFinite(e)?String(e):`—`}function je({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,name:r,era:o,born:s,died:c,knownFor:l,facts:u,lifeEvents:d,legacy:f,footer:p,delay:h}){let g=i[t]??i.doc,_=u??[],v=d??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsxs)(`div`,{className:`hp-head`,children:[(0,m.jsx)(`div`,{className:`hp-medallion`,"aria-hidden":`true`,children:ke(r)}),(0,m.jsxs)(`div`,{className:`hp-headline`,children:[(0,m.jsx)(`div`,{className:`hp-name`,"data-mark":`underline`,children:r}),o&&(0,m.jsx)(`div`,{className:`hp-era`,children:o}),l&&(0,m.jsx)(`div`,{className:`hp-known`,children:l})]})]}),(s||c)&&(0,m.jsxs)(`div`,{className:`hp-dates`,children:[s&&(0,m.jsxs)(`div`,{className:`hp-date`,children:[(0,m.jsx)(`span`,{className:`hp-date-k`,children:`Born`}),(0,m.jsx)(`span`,{className:`hp-date-v`,children:s})]}),c&&(0,m.jsxs)(`div`,{className:`hp-date`,children:[(0,m.jsx)(`span`,{className:`hp-date-k`,children:`Died`}),(0,m.jsx)(`span`,{className:`hp-date-v`,children:c})]})]}),v.length>0&&(0,m.jsx)(`div`,{className:`hp-beats`,children:v.map((e,t)=>(0,m.jsxs)(`div`,{className:`hp-beat m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`hp-beat-year`,children:Ae(e.year)}),(0,m.jsx)(`span`,{className:`hp-beat-label`,children:e.label})]},t))}),_.length>0&&(0,m.jsx)(`div`,{className:`hp-facts`,children:_.map((e,t)=>(0,m.jsxs)(`div`,{className:`hp-fact-row`,children:[(0,m.jsx)(`span`,{className:`hp-fact-label`,children:e.label}),(0,m.jsx)(`span`,{className:`hp-fact-value`,children:e.value})]},t))}),f&&(0,m.jsx)(`div`,{className:`hp-legacy`,children:f}),p&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(p)})]})}function J(e){return typeof e==`string`&&e.trim()||typeof e==`number`&&Number.isFinite(e)?String(e):`—`}function Me({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,date:r,events:o,born:s,died:c,footer:l,delay:u}){let d=i[t]??i.clock,f=o??[],p=s??[],h=c??[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`otd-date`,children:r}),f.length>0?(0,m.jsx)(`div`,{className:`otd-events`,children:f.map((e,t)=>(0,m.jsxs)(`div`,{className:`otd-event m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`otd-year-chip`,children:J(e.year)}),(0,m.jsxs)(`div`,{className:`otd-event-body`,children:[(0,m.jsx)(`div`,{className:`otd-label`,...t===0?{"data-mark":`underline`}:{},children:e.label}),e.category&&(0,m.jsx)(`span`,{className:`otd-cat`,children:e.category})]})]},t))}):(0,m.jsx)(`div`,{className:`otd-empty`,children:`No events yet.`}),(p.length>0||h.length>0)&&(0,m.jsxs)(`div`,{className:`otd-people`,children:[p.length>0&&(0,m.jsxs)(`div`,{className:`otd-people-col`,children:[(0,m.jsx)(`span`,{className:`otd-people-k`,children:`Born`}),p.map((e,t)=>(0,m.jsxs)(`div`,{className:`otd-person`,children:[(0,m.jsx)(`span`,{className:`otd-person-year`,children:J(e.year)}),(0,m.jsx)(`span`,{className:`otd-person-name`,children:e.name})]},t))]}),h.length>0&&(0,m.jsxs)(`div`,{className:`otd-people-col`,children:[(0,m.jsx)(`span`,{className:`otd-people-k`,children:`Died`}),h.map((e,t)=>(0,m.jsxs)(`div`,{className:`otd-person`,children:[(0,m.jsx)(`span`,{className:`otd-person-year`,children:J(e.year)}),(0,m.jsx)(`span`,{className:`otd-person-name`,children:e.name})]},t))]})]}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}function Ne({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,name:r,flag:o,capital:s,population:c,area:l,officialLanguages:u,currency:d,facts:f,footer:p,delay:h}){let g=i[t]??i.globe,_=Array.isArray(f)?f:[],v=(Array.isArray(u)?u:[]).filter(e=>typeof e==`string`&&e.trim().length>0),y=[{label:`Capital`,value:s},{label:`Population`,value:c},{label:`Area`,value:l},{label:`Currency`,value:d}].filter(e=>typeof e.value==`string`&&!!e.value);return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h??0)+`ms`},children:[e&&(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,m.jsx)(`div`,{className:`cc-banner`,children:(0,m.jsx)(`span`,{className:`cc-flag`,role:`img`,"aria-label":`Flag of ${r}`,children:typeof o==`string`&&o.trim()?o:`🌐`})}),(0,m.jsx)(`div`,{className:`cc-name`,"data-mark":`underline`,children:r}),y.length>0&&(0,m.jsx)(`div`,{className:`cc-marks`,children:y.map((e,t)=>(0,m.jsxs)(`div`,{className:`cc-mark`,children:[(0,m.jsx)(`span`,{className:`cc-mark-label`,children:e.label}),(0,m.jsx)(`span`,{className:`cc-mark-value`,children:e.value})]},t))}),v.length>0&&(0,m.jsx)(`div`,{className:`cc-langs`,children:v.map((e,t)=>(0,m.jsx)(`span`,{className:`cc-lang-chip`,children:e},t))}),_.length>0&&(0,m.jsx)(`div`,{className:`cc-facts`,children:_.map((e,t)=>(0,m.jsxs)(`div`,{className:`cc-fact-row`,children:[(0,m.jsx)(`span`,{className:`cc-fact-label`,children:e.label}),(0,m.jsx)(`span`,{className:`cc-fact-value`,children:e.value})]},t))}),p&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(p)})]})}function Pe({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,countries:r,footer:o,delay:s}){let c=i[t]??i.globe,l=Array.isArray(r)?r:[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),l.length===0?(0,m.jsx)(`div`,{className:`wg-empty`,children:`No countries yet.`}):(0,m.jsx)(`div`,{className:`wg-grid`,children:l.map((e,t)=>(0,m.jsxs)(`div`,{className:`wg-tile m-stagger-item m-scale-in`,style:{"--i":t},children:[(0,m.jsx)(`span`,{className:`wg-flag`,role:`img`,"aria-label":`Flag of ${e.name}`,children:typeof e.flag==`string`&&e.flag.trim()?e.flag:`🌐`}),(0,m.jsx)(`div`,{className:`wg-name`,children:e.name}),e.capital&&(0,m.jsxs)(`div`,{className:`wg-row`,children:[(0,m.jsx)(`span`,{className:`wg-row-k`,children:`Capital`}),(0,m.jsx)(`span`,{className:`wg-row-v`,children:e.capital})]}),e.currency&&(0,m.jsxs)(`div`,{className:`wg-row`,children:[(0,m.jsx)(`span`,{className:`wg-row-k`,children:`Currency`}),(0,m.jsx)(`span`,{className:`wg-row-v`,children:e.currency})]}),e.language&&(0,m.jsxs)(`div`,{className:`wg-row`,children:[(0,m.jsx)(`span`,{className:`wg-row-k`,children:`Language`}),(0,m.jsx)(`span`,{className:`wg-row-v`,children:e.language})]})]},t))}),o&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(o)})]})}var Y=[`var(--presence)`,`var(--danger)`,`var(--warning)`,`var(--text-muted)`],Fe=new Set(Y);function Ie(e,t){return typeof e.color==`string`&&Fe.has(e.color)?e.color:Y[t%Y.length]}function Le({title:e,icon:t=`shield`,iconColor:n=`var(--danger)`,dates:r,sides:o,keyBattles:s,casualties:c,outcome:l,footer:u,delay:d}){let f=i[t]??i.shield,p=Array.isArray(o)?o:[],h=Array.isArray(s)?s:[];return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,m.jsx)(`div`,{className:`wc-dates`,children:r}),p.length>0&&(0,m.jsx)(`div`,{className:`wc-sides`,children:p.map((e,t)=>{let n=Ie(e,t),r=Array.isArray(e.leaders)?e.leaders:[];return(0,m.jsxs)(`div`,{className:`wc-side m-stagger-item m-fade-rise`,style:{"--i":t,"--wc-c":n},children:[(0,m.jsx)(`div`,{className:`wc-side-name`,children:e.name}),r.length>0&&(0,m.jsx)(`ul`,{className:`wc-leaders`,children:r.filter(e=>typeof e==`string`&&e.trim().length>0).map((e,t)=>(0,m.jsx)(`li`,{className:`wc-leader`,children:e},t))})]},t)})}),h.length>0&&(0,m.jsx)(`div`,{className:`wc-battles`,children:h.map((e,t)=>(0,m.jsxs)(`div`,{className:`wc-battle`,children:[(0,m.jsx)(`span`,{className:`wc-battle-dot`,"aria-hidden":`true`}),(0,m.jsx)(`span`,{className:`wc-battle-label`,children:e.label}),e.at&&(0,m.jsx)(`span`,{className:`wc-battle-at`,children:e.at})]},t))}),c&&(0,m.jsxs)(`div`,{className:`wc-stat-row`,children:[(0,m.jsx)(`span`,{className:`wc-stat-k`,children:`Casualties`}),(0,m.jsx)(`span`,{className:`wc-stat-v`,children:c})]}),l&&(0,m.jsx)(`div`,{className:`wc-outcome`,children:l}),u&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(u)})]})}var X=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--text-muted)`],Re=new Set([`var(--presence)`,`var(--presence-soft)`,`var(--presence-deep)`,`var(--insight)`,`var(--insight-soft)`,`var(--warning)`,`var(--warning-soft)`,`var(--danger)`,`var(--text-muted)`]);function ze(e,t){return typeof e.color==`string`&&Re.has(e.color)?e.color:X[t%X.length]}var Z=3;function Be(e){return e<=Z?Math.max(e,1):Math.ceil(e/Math.ceil(e/Z))}function Q(e){return typeof e==`string`&&e.trim().length>0}function Ve({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,terms:r,discriminator:o,discriminatorLabel:s,commonMistake:c,footer:l,delay:u}){let d=i[t]??i.proof,f=(Array.isArray(r)?r:[]).filter(e=>!!e&&Q(e.term)),p=Be(f.length),h=Q(o),g=Q(s)?s:`The test`;return(0,m.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,m.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,m.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),f.length>0&&(0,m.jsx)(`div`,{className:`dcd-terms`,style:{"--dcd-cols":p,"--dcd-cols-narrow":Math.min(p,2)},children:f.map((e,t)=>(0,m.jsxs)(`div`,{className:`dcd-term m-stagger-item m-fade-rise`,style:{"--i":t,"--dcd-c":ze(e,t)},children:[(0,m.jsxs)(`div`,{className:`dcd-term-head`,children:[(0,m.jsx)(`span`,{className:`dcd-term-name`,children:e.term}),Q(e.tag)&&(0,m.jsx)(`span`,{className:`dcd-term-tag`,children:e.tag})]}),Q(e.gist)&&(0,m.jsx)(`p`,{className:`dcd-gist`,children:e.gist}),Q(e.example)&&(0,m.jsxs)(`p`,{className:`dcd-example`,children:[(0,m.jsx)(`span`,{className:`dcd-example-k`,children:`e.g.`}),e.example]})]},t))}),h&&(0,m.jsxs)(`div`,{className:`dcd-rule m-stagger-item m-fade-rise`,style:{"--i":f.length},children:[(0,m.jsxs)(`div`,{className:`dcd-rule-label`,children:[(0,m.jsx)(i.spark,{className:`ic`,"aria-hidden":`true`}),g]}),(0,m.jsx)(`p`,{className:`dcd-rule-text`,"data-mark":`underline`,children:o})]}),Q(c)&&(0,m.jsxs)(`p`,{className:`dcd-mistake`,children:[(0,m.jsx)(i.alert,{className:`ic`,"aria-hidden":`true`}),(0,m.jsxs)(`span`,{className:`dcd-mistake-text`,children:[(0,m.jsx)(`span`,{className:`dcd-mistake-k`,children:`Common slip `}),c]})]}),f.length===0&&!h&&(0,m.jsx)(`div`,{className:`dcd-empty`,children:`No terms to tell apart yet.`}),l&&(0,m.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var He=e({referenceRegistry:()=>$}),$={factsheet:c(D),newsdigest:c(ie),dictionary:c(se),translation:c(ae),pronunciation:c(oe),gloss:c(ce),scalefelt:c(A),hearit:c(P),ipachart:c(B),scriptstroke:c(pe),phonicsword:c(he),speciescard:c(ye),etymtree:c(E),hazardcard:c(re),termbase:c(be),sizecompare:c(Ee),baseconversion:c(Oe),historicalperson:c(je),onthisday:c(Me),countrycard:c(Ne),worldgrid:c(Pe),warconflict:c(Le),posbreakdown:c(G),distinctioncard:c(Ve)};export{He as n,$ as t};
@@ -1 +1 @@
1
- import{c as e}from"./useDashboardLoop-DDqCFJKY.js";function t(e){return e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim()}function n(n,r){if(r.topic){let e=t(r.topic),i=n.find(n=>n.topic&&t(n.topic)===e);if(i)return i}let i=e(r.text);if(i.size===0)return null;let a=null,o=0;for(let t of n){let n=e([t.title,t.thesis.text,...t.metrics.map(e=>e.label)].join(` `)),r=0;for(let e of i)n.has(e)&&r++;r>o&&(o=r,a=t)}return o>=2?a:null}export{n as t};
1
+ import{c as e}from"./useDashboardLoop-BoVNM-pT.js";function t(e){return e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim()}function n(n,r){if(r.topic){let e=t(r.topic),i=n.find(n=>n.topic&&t(n.topic)===e);if(i)return i}let i=e(r.text);if(i.size===0)return null;let a=null,o=0;for(let t of n){let n=e([t.title,t.thesis.text,...t.metrics.map(e=>e.label)].join(` `)),r=0;for(let e of i)n.has(e)&&r++;r>o&&(o=r,a=t)}return o>=2?a:null}export{n as t};
@@ -1 +1 @@
1
- import{t as e}from"./generateBeats-DZHkvFvh.js";function t(e){let t=[];for(let n of e.tour){let r=e.spec.blocks[n.index]?.id;r&&t.push({spot:r,...n.say?{say:n.say}:{},marks:n.marks??(n.mark?[n.mark]:[])})}return t}function n(n){let r=t(n),i=e(n.spec.blocks,{opener:n.narration,...r.length?{tour:r.map(({spot:e,say:t})=>t?{spot:e,say:t}:{spot:e})}:{}});return{spec:n.spec,say:n.spoken??n.narration,beats:i,cues:r}}function r(e,t=0){let r=Math.max(0,Math.min(t,e.length));return e.slice(r).map(n)}export{r as n,n as t};
1
+ import{t as e}from"./generateBeats-DtptFLlG.js";function t(e){let t=[];for(let n of e.tour){let r=e.spec.blocks[n.index]?.id;r&&t.push({spot:r,...n.say?{say:n.say}:{},marks:n.marks??(n.mark?[n.mark]:[])})}return t}function n(n){let r=t(n),i=e(n.spec.blocks,{opener:n.narration,...r.length?{tour:r.map(({spot:e,say:t})=>t?{spot:e,say:t}:{spot:e})}:{}});return{spec:n.spec,say:n.spoken??n.narration,beats:i,cues:r}}function r(e,t=0){let r=Math.max(0,Math.min(t,e.length));return e.slice(r).map(n)}export{r as n,n as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/liveSchema-B4bQtO88.js","assets/icons-gLFQTv74.js","assets/jsx-runtime-DeHZSEgm.js","assets/rolldown-runtime-DkW27tQK.js","assets/spokenText-C88IQJ0M.js","assets/safeImageUrl-BINWXOTz.js","assets/catalog-BHjl-1uH.js","assets/sourceHost-BV3t2XDb.js","assets/annotations-CftUUB13.js","assets/catalog-Db9GWM6N.js","assets/preload-helper-CiWYd9n-.js","assets/facts-BUGuVUIc.js","assets/blockTypes-DUDdP3pB.js","assets/streamParse-B-Gjwa9T.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{i as a,t as o}from"./http-Lar_UMKb.js";import{E as s,G as c,H as l,L as u,P as d,U as f,V as p,_ as m,b as h,m as g,p as _,s as v,v as y,y as b,z as ee}from"./store-CsjDEADX.js";import{t as te}from"./providers-BovElgRL.js";import{l as x,n as S}from"./useLiveConfig-Cpy0_E_-.js";import{t as ne}from"./json-B0N3XRZU.js";import{i as C}from"./number-zqlPMliA.js";import{i as w,n as T,r as E}from"./ledger-Cv0LBflx.js";import{d as re,i as D,l as O,o as ie,u as k}from"./format-g3dP8OI3.js";import{t as A}from"./dataPending-DGdCvY5Y.js";import{t as j}from"./now-C9-UAzTC.js";import{n as ae,t as oe}from"./predictions-CkVKHq-5.js";import{t as se}from"./notify-Bz4wuE4T.js";import{a as M,i as ce,r as le,t as ue,u as de}from"./dashboardEvents-DKl5rrTD.js";var N=t(),fe=n(),pe=`mavea-dashboard-scheduler`;function me(){if(typeof navigator>`u`)return null;let e=navigator.locks;return typeof e?.request==`function`?e:null}async function he(e){let t=me();if(!t){await e();return}try{await t.request(pe,{ifAvailable:!0},async t=>{t&&await e()})}catch{await e()}}function ge(e){return new Set(e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim().split(` `).filter(e=>e.length>3))}function P(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}var _e={WATCHING:`watching`,CLEAR:`clear`,TRIGGERED:`triggered`,AWAITING:`awaiting`},ve={ORIGIN:`origin`,ADDED:`added`,LINKED:`linked`},ye={CLEAR:1,WATCHING:.75,TRIGGERED:0,AWAITING:0};function be(e){let t=e.tripwires.filter(e=>e.state!==`AWAITING`);if(t.length===0)return null;let n=t.reduce((e,t)=>e+ye[t.state],0);return Math.round(100*n/t.length)}function xe(e){return e===null?``:e>=80?`Tracking well`:e>=55?`Holding, with risks`:e>=30?`Slipping`:`Lines are breaking`}var Se=new Set([`thesis`,`alignmentgauge`,`standingalerts`,`sourceslineage`]);function Ce(e){let t=e.block.type;return Se.has(t)?!0:!!e.metricId&&t===`insight`}function we(e,t){let n=t.block.type;if(!Se.has(n)){if(t.metricId&&n===`insight`){let n=e.metrics.find(e=>e.id===t.metricId);if(n){let e=n.lastValue===null?`—`:n.lastRaw??O(String(n.lastValue),n.unit),r=n.lastValue===null?`inferred`:`strong`,i=t.block.props;return{...t.block,props:{...i,stat:e,conf:r}}}}return t.block}let r=e.sources.find(e=>e.kind===`ORIGIN`);if(n===`thesis`){let n=e.tripwires[0],i={reasoning:e.thesis.text,...r?{asOf:r.title}:{},...n?{reconsiderIf:n.label,tripwireState:_e[n.state]}:{}};return{...t.block,props:i}}if(n===`alignmentgauge`){let n=be(e),r={pct:n,band:xe(n)};return{...t.block,props:r}}if(n===`standingalerts`){let n={alerts:e.tripwires.map(e=>({label:e.label,state:_e[e.state]}))};return{...t.block,props:n}}let i={rows:e.sources.map(e=>({kind:ve[e.kind],label:e.title,...e.contributed?{contributed:e.contributed}:{}}))};return{...t.block,props:i}}var Te={metric:`{"kind":"metric","value":number,"raw"?:string}`,series:`{"kind":"series","points":[{"label":string,"value":number}]}`,list:`{"kind":"list","items":[string]}`,table:`{"kind":"table","columns":[string],"rows":[[string]]}`,event:`{"kind":"event","events":[{"when":string,"title":string,"detail"?:string}]}`};function F(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function I(e){return Array.isArray(e)?e:[]}function L(e){return typeof e==`string`?e.trim():typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`yes`:`no`:``}function R(e,...t){for(let n of t){let t=L(e[n]);if(t)return t}return``}function Ee(e){if(!F(e))return L(e);let t=R(e,`text`,`label`,`title`,`name`,`item`);if(t){let n=Object.entries(e).filter(([e])=>![`text`,`label`,`title`,`name`,`item`].includes(e)).map(([,e])=>L(e)).filter(Boolean);return n.length?`${t} — ${n.join(` — `)}`:t}return Object.values(e).map(L).filter(Boolean).join(` — `)}function De(e,t){let n=F(t)?t:{};switch(e){case`metric`:{let e=C(n.value??n.number??n.amount??t);if(e===null)return null;let r=R(n,`raw`,`display`,`formatted`);return{kind:`metric`,value:e,...r?{raw:r}:{}}}case`series`:{let e=I(n.points??n.data??n.series).map(e=>{let t=F(e)?e:{},n=R(t,`label`,`name`,`x`,`when`,`date`),r=C(t.value??t.y??t.amount);return n&&r!==null?{label:n,value:r}:null}).filter(e=>e!==null);return e.length?{kind:`series`,points:e}:null}case`list`:{let e=I(n.items??n.list??n.entries??t).map(Ee).filter(Boolean);return e.length?{kind:`list`,items:e}:null}case`table`:{let e=I(n.rows??n.data??t),r=I(n.columns??n.headers??n.cols).map(L).filter(Boolean);!r.length&&F(e[0])&&(r=Object.keys(e[0]).map(L));let i=e.map(e=>Array.isArray(e)?e.map(L):F(e)?r.map(t=>L(e[t])):[]).filter(e=>e.some(Boolean));return r.length&&i.length?{kind:`table`,columns:r,rows:i}:null}case`event`:{let e=I(n.events??n.items??t).map(e=>{let t=F(e)?e:{},n=R(t,`title`,`name`,`event`,`label`);if(!n)return null;let r=R(t,`when`,`date`,`time`,`at`,`start`),i=R(t,`detail`,`description`,`note`,`status`);return{when:r,title:n,...i?{detail:i}:{}}}).filter(e=>e!==null);return e.length?{kind:`event`,events:e}:null}}}var Oe={list:`list`,checklist:`list`,timeline:`event`,datatable:`table`,standings:`table`,chart:`series`,bars:`series`};function z(e){return Oe[e]??null}function B(e,t){return e.raw??O(String(e.value),t)}function ke(e,t,n={},r){let i=typeof n.title==`string`?n.title:``,a={...i?{title:i}:{},...n.icon?{icon:n.icon}:{}};switch(e){case`insight`:return t.kind===`metric`?{...n,...a,stat:B(t,r),conf:`strong`}:null;case`kpi`:return t.kind===`metric`?{...a,items:[{label:i||`Now`,value:B(t,r)}]}:t.kind===`series`?{...a,items:t.points.slice(-4).map(e=>({label:e.label,value:String(e.value)}))}:null;case`list`:case`checklist`:{let n=t.kind===`list`?t.items:t.kind===`event`?t.events.map(e=>[e.when,e.title,e.detail].filter(Boolean).join(` — `)):t.kind===`series`?t.points.map(e=>`${e.label} — ${e.value}`):t.kind===`table`?t.rows.map(e=>e.filter(Boolean).join(` — `)):null;return n?.length?e===`checklist`?{...a,rows:n.map(e=>({t:e,st:`todo`}))}:{...a,items:n}:null}case`timeline`:return t.kind===`event`?{...a,events:t.events.map(e=>({time:e.when,title:e.title,...e.detail?{detail:e.detail}:{}}))}:null;case`datatable`:{if(t.kind!==`table`)return null;let e=t.columns.map((e,t)=>({key:`c${t}`,label:e}));return{...a,columns:e,rows:t.rows.map(e=>Object.fromEntries(e.map((e,t)=>[`c${t}`,e])))}}case`standings`:{if(t.kind!==`table`)return null;let e=t.rows.map(e=>({team:e[0]??``,rec:e[1]??``,gb:e[2]??``})).filter(e=>e.team);return e.length?{...a,rows:e}:null}case`chart`:return t.kind===`series`?{...a,labels:t.points.map(e=>e.label),series:[{name:i||`Value`,color:`var(--insight)`,data:t.points.map(e=>e.value)}],conf:`strong`}:null;case`bars`:return t.kind===`series`?{...a,bars:t.points.map(e=>({label:e.label,value:e.value})),conf:`strong`}:null;default:return null}}r();function Ae(e){let t=e instanceof Error?e.message:String(e);if(/\b429\b|rate.?limit/i.test(t)){let e=Number(/(?:in|after)\s+([\d.]+)\s*s/i.exec(t)?.[1]);return Number.isFinite(e)&&e>0?{kind:`rate-limit`,retryAt:Date.now()+Math.min(e*1e3,12e4)}:{kind:`rate-limit`}}return/\b401\b|\b403\b|api key|unauthor/i.test(t)?{kind:`auth`}:/\b5\d\d\b|overloaded|unavailable|capacity/i.test(t)?{kind:`provider-unavailable`}:{kind:`network`}}function je(e,t,n,r){switch(e){case`gt`:return t>r;case`gte`:return t>=r;case`lt`:return t<r;case`lte`:return t<=r;case`crosses_up`:return n!==null&&n<r&&t>=r;case`crosses_down`:return n!==null&&n>r&&t<=r;case`pct_rise`:return n!==null&&n!==0&&(t-n)/Math.abs(n)*100>=r;case`pct_drop`:return n!==null&&n!==0&&(n-t)/Math.abs(n)*100>=r;default:return!1}}function Me(e,t,n){if(n===0)return!0;let r=t/n;switch(e){case`gt`:case`gte`:return r>=.9;case`lt`:case`lte`:return r<=1.1;default:return!0}}function Ne(e,t,n){return t===null?`AWAITING`:je(e.comparator,t,n,e.threshold)?`TRIGGERED`:Me(e.comparator,t,e.threshold)?`WATCHING`:`CLEAR`}function V(e,t={}){let n=new Map(e.metrics.map(e=>[e.id,e])),r=[];return{tripwires:e.tripwires.map(e=>{let i=n.get(e.metricId),a=i?i.lastValue:null,o=Ne(e,a,e.metricId in t?t[e.metricId]:a),s=o===`TRIGGERED`&&e.state!==`TRIGGERED`?{...e,state:o,brokenValue:a??void 0,brokenAt:i?.asOf}:{...e,state:o};return o===`TRIGGERED`&&e.state!==`TRIGGERED`&&r.push(s),s}),newlyTriggered:r}}function Pe(e,t){return e.nextDataAt<=t||e.oneShotAt!==void 0&&e.oneShotAt<=t}function H(e){return e.oneShotAt===void 0?e.nextDataAt:Math.min(e.nextDataAt,e.oneShotAt)}function Fe(e,t=Date.now(),n=4){return e.filter(e=>Pe(e,t)).sort((e,t)=>H(e)-H(t)).slice(0,n)}function Ie(e,t=Date.now()){return e.filter(e=>e.nextAiAt<=t).sort((e,t)=>e.nextAiAt-t.nextAiAt)[0]??null}function U(e,t,n=Date.now()){return e.smartTrigger&&t.length>0?{fire:!0,trigger:t[0]}:(e.cadence.ai===`daily`||e.cadence.ai===`weekly`)&&n>=e.nextAiAt?{fire:!0,trigger:`scheduled`}:{fire:!1,trigger:null}}function W(e){let t=[];for(let n of o(e.sources)){let e=a(n);typeof e.title==`string`&&typeof e.url==`string`&&t.push({title:e.title,url:e.url})}return t}function G(e,t){return(e.sources?.length??0)>0||W(t).length>0}function Le(e){return`- VALUE "${e.label}" — ${e.query}`}function Re(e,t,n){let r=z(e.block.type);return r?`- DATA #${t} [${r}] ${e.refreshQuery}\n return EXACTLY: ${Te[r]}`:`- BLOCK #${t} [${e.block.type}] ${e.refreshQuery}\n`+(n?` expected props (use EXACTLY these field names): ${n}\n`:``)+` current content: ${JSON.stringify(e.block.props??{}).slice(0,600)}`}function ze(){return{values:{},widgets:{}}}function Be(e){return{metrics:e.metrics.filter(e=>e.query.trim()!==``&&!e.blankKey),targets:e.widgets.filter(e=>!!e.refreshQuery?.trim()&&!Ce(e))}}function Ve(e){let t=[e.block.type];if(e.block.type===`composite`){let n=e.block.props.regions;for(let e of n??[]){let n=e?.block?.type;typeof n==`string`&&n&&t.push(n)}}return t}function He(e,t,n){let r=n.reduce((e,t)=>e+(z(t.block.type)?300:1200),0);return 400+t.length*120+r+(e.prediction?150:0)}var Ue=12e3;function K(e){let t=[],n=1200;for(let r of e){let{metrics:e,targets:i}=Be(r);if(e.length===0&&i.length===0)continue;let a=He(r,e,i);if(t.length>0&&n+a>Ue)break;n+=a,t.push({d:r,metrics:e,targets:i})}return t}function We(e,t){let n=Math.max(0,Math.round((t-e)/6e4));if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function Ge(e,t,n){let r=[...e.metrics.map(Le),...e.targets.map((e,t)=>Re(e,t,n(e.block.type))),...e.d.prediction?[`- PREVIOUS EXPECTATION (made ${We(e.d.prediction.at,t)}): "${e.d.prediction.text}" — grade it.`]:[]];return`DASHBOARD ${e.d.id} "${e.d.title}"\n${r.join(`
2
+ import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{i as a,t as o}from"./http-Lar_UMKb.js";import{E as s,G as c,H as l,L as u,P as d,U as f,V as p,_ as m,b as h,m as g,p as _,s as v,v as y,y as b,z as ee}from"./store-CsjDEADX.js";import{t as te}from"./providers-BovElgRL.js";import{l as x,n as S}from"./useLiveConfig-Cpy0_E_-.js";import{t as ne}from"./json-B0N3XRZU.js";import{i as C}from"./number-zqlPMliA.js";import{i as w,n as T,r as E}from"./ledger-Cv0LBflx.js";import{d as re,i as D,l as O,o as ie,u as k}from"./format-g3dP8OI3.js";import{t as A}from"./dataPending-DGdCvY5Y.js";import{t as j}from"./now-C9-UAzTC.js";import{n as ae,t as oe}from"./predictions-CkVKHq-5.js";import{t as se}from"./notify-Bz4wuE4T.js";import{a as M,i as ce,r as le,t as ue,u as de}from"./dashboardEvents-D-XVj666.js";var N=t(),fe=n(),pe=`mavea-dashboard-scheduler`;function me(){if(typeof navigator>`u`)return null;let e=navigator.locks;return typeof e?.request==`function`?e:null}async function he(e){let t=me();if(!t){await e();return}try{await t.request(pe,{ifAvailable:!0},async t=>{t&&await e()})}catch{await e()}}function ge(e){return new Set(e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim().split(` `).filter(e=>e.length>3))}function P(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}var _e={WATCHING:`watching`,CLEAR:`clear`,TRIGGERED:`triggered`,AWAITING:`awaiting`},ve={ORIGIN:`origin`,ADDED:`added`,LINKED:`linked`},ye={CLEAR:1,WATCHING:.75,TRIGGERED:0,AWAITING:0};function be(e){let t=e.tripwires.filter(e=>e.state!==`AWAITING`);if(t.length===0)return null;let n=t.reduce((e,t)=>e+ye[t.state],0);return Math.round(100*n/t.length)}function xe(e){return e===null?``:e>=80?`Tracking well`:e>=55?`Holding, with risks`:e>=30?`Slipping`:`Lines are breaking`}var Se=new Set([`thesis`,`alignmentgauge`,`standingalerts`,`sourceslineage`]);function Ce(e){let t=e.block.type;return Se.has(t)?!0:!!e.metricId&&t===`insight`}function we(e,t){let n=t.block.type;if(!Se.has(n)){if(t.metricId&&n===`insight`){let n=e.metrics.find(e=>e.id===t.metricId);if(n){let e=n.lastValue===null?`—`:n.lastRaw??O(String(n.lastValue),n.unit),r=n.lastValue===null?`inferred`:`strong`,i=t.block.props;return{...t.block,props:{...i,stat:e,conf:r}}}}return t.block}let r=e.sources.find(e=>e.kind===`ORIGIN`);if(n===`thesis`){let n=e.tripwires[0],i={reasoning:e.thesis.text,...r?{asOf:r.title}:{},...n?{reconsiderIf:n.label,tripwireState:_e[n.state]}:{}};return{...t.block,props:i}}if(n===`alignmentgauge`){let n=be(e),r={pct:n,band:xe(n)};return{...t.block,props:r}}if(n===`standingalerts`){let n={alerts:e.tripwires.map(e=>({label:e.label,state:_e[e.state]}))};return{...t.block,props:n}}let i={rows:e.sources.map(e=>({kind:ve[e.kind],label:e.title,...e.contributed?{contributed:e.contributed}:{}}))};return{...t.block,props:i}}var Te={metric:`{"kind":"metric","value":number,"raw"?:string}`,series:`{"kind":"series","points":[{"label":string,"value":number}]}`,list:`{"kind":"list","items":[string]}`,table:`{"kind":"table","columns":[string],"rows":[[string]]}`,event:`{"kind":"event","events":[{"when":string,"title":string,"detail"?:string}]}`};function F(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function I(e){return Array.isArray(e)?e:[]}function L(e){return typeof e==`string`?e.trim():typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`yes`:`no`:``}function R(e,...t){for(let n of t){let t=L(e[n]);if(t)return t}return``}function Ee(e){if(!F(e))return L(e);let t=R(e,`text`,`label`,`title`,`name`,`item`);if(t){let n=Object.entries(e).filter(([e])=>![`text`,`label`,`title`,`name`,`item`].includes(e)).map(([,e])=>L(e)).filter(Boolean);return n.length?`${t} — ${n.join(` — `)}`:t}return Object.values(e).map(L).filter(Boolean).join(` — `)}function De(e,t){let n=F(t)?t:{};switch(e){case`metric`:{let e=C(n.value??n.number??n.amount??t);if(e===null)return null;let r=R(n,`raw`,`display`,`formatted`);return{kind:`metric`,value:e,...r?{raw:r}:{}}}case`series`:{let e=I(n.points??n.data??n.series).map(e=>{let t=F(e)?e:{},n=R(t,`label`,`name`,`x`,`when`,`date`),r=C(t.value??t.y??t.amount);return n&&r!==null?{label:n,value:r}:null}).filter(e=>e!==null);return e.length?{kind:`series`,points:e}:null}case`list`:{let e=I(n.items??n.list??n.entries??t).map(Ee).filter(Boolean);return e.length?{kind:`list`,items:e}:null}case`table`:{let e=I(n.rows??n.data??t),r=I(n.columns??n.headers??n.cols).map(L).filter(Boolean);!r.length&&F(e[0])&&(r=Object.keys(e[0]).map(L));let i=e.map(e=>Array.isArray(e)?e.map(L):F(e)?r.map(t=>L(e[t])):[]).filter(e=>e.some(Boolean));return r.length&&i.length?{kind:`table`,columns:r,rows:i}:null}case`event`:{let e=I(n.events??n.items??t).map(e=>{let t=F(e)?e:{},n=R(t,`title`,`name`,`event`,`label`);if(!n)return null;let r=R(t,`when`,`date`,`time`,`at`,`start`),i=R(t,`detail`,`description`,`note`,`status`);return{when:r,title:n,...i?{detail:i}:{}}}).filter(e=>e!==null);return e.length?{kind:`event`,events:e}:null}}}var Oe={list:`list`,checklist:`list`,timeline:`event`,datatable:`table`,standings:`table`,chart:`series`,bars:`series`};function z(e){return Oe[e]??null}function B(e,t){return e.raw??O(String(e.value),t)}function ke(e,t,n={},r){let i=typeof n.title==`string`?n.title:``,a={...i?{title:i}:{},...n.icon?{icon:n.icon}:{}};switch(e){case`insight`:return t.kind===`metric`?{...n,...a,stat:B(t,r),conf:`strong`}:null;case`kpi`:return t.kind===`metric`?{...a,items:[{label:i||`Now`,value:B(t,r)}]}:t.kind===`series`?{...a,items:t.points.slice(-4).map(e=>({label:e.label,value:String(e.value)}))}:null;case`list`:case`checklist`:{let n=t.kind===`list`?t.items:t.kind===`event`?t.events.map(e=>[e.when,e.title,e.detail].filter(Boolean).join(` — `)):t.kind===`series`?t.points.map(e=>`${e.label} — ${e.value}`):t.kind===`table`?t.rows.map(e=>e.filter(Boolean).join(` — `)):null;return n?.length?e===`checklist`?{...a,rows:n.map(e=>({t:e,st:`todo`}))}:{...a,items:n}:null}case`timeline`:return t.kind===`event`?{...a,events:t.events.map(e=>({time:e.when,title:e.title,...e.detail?{detail:e.detail}:{}}))}:null;case`datatable`:{if(t.kind!==`table`)return null;let e=t.columns.map((e,t)=>({key:`c${t}`,label:e}));return{...a,columns:e,rows:t.rows.map(e=>Object.fromEntries(e.map((e,t)=>[`c${t}`,e])))}}case`standings`:{if(t.kind!==`table`)return null;let e=t.rows.map(e=>({team:e[0]??``,rec:e[1]??``,gb:e[2]??``})).filter(e=>e.team);return e.length?{...a,rows:e}:null}case`chart`:return t.kind===`series`?{...a,labels:t.points.map(e=>e.label),series:[{name:i||`Value`,color:`var(--insight)`,data:t.points.map(e=>e.value)}],conf:`strong`}:null;case`bars`:return t.kind===`series`?{...a,bars:t.points.map(e=>({label:e.label,value:e.value})),conf:`strong`}:null;default:return null}}r();function Ae(e){let t=e instanceof Error?e.message:String(e);if(/\b429\b|rate.?limit/i.test(t)){let e=Number(/(?:in|after)\s+([\d.]+)\s*s/i.exec(t)?.[1]);return Number.isFinite(e)&&e>0?{kind:`rate-limit`,retryAt:Date.now()+Math.min(e*1e3,12e4)}:{kind:`rate-limit`}}return/\b401\b|\b403\b|api key|unauthor/i.test(t)?{kind:`auth`}:/\b5\d\d\b|overloaded|unavailable|capacity/i.test(t)?{kind:`provider-unavailable`}:{kind:`network`}}function je(e,t,n,r){switch(e){case`gt`:return t>r;case`gte`:return t>=r;case`lt`:return t<r;case`lte`:return t<=r;case`crosses_up`:return n!==null&&n<r&&t>=r;case`crosses_down`:return n!==null&&n>r&&t<=r;case`pct_rise`:return n!==null&&n!==0&&(t-n)/Math.abs(n)*100>=r;case`pct_drop`:return n!==null&&n!==0&&(n-t)/Math.abs(n)*100>=r;default:return!1}}function Me(e,t,n){if(n===0)return!0;let r=t/n;switch(e){case`gt`:case`gte`:return r>=.9;case`lt`:case`lte`:return r<=1.1;default:return!0}}function Ne(e,t,n){return t===null?`AWAITING`:je(e.comparator,t,n,e.threshold)?`TRIGGERED`:Me(e.comparator,t,e.threshold)?`WATCHING`:`CLEAR`}function V(e,t={}){let n=new Map(e.metrics.map(e=>[e.id,e])),r=[];return{tripwires:e.tripwires.map(e=>{let i=n.get(e.metricId),a=i?i.lastValue:null,o=Ne(e,a,e.metricId in t?t[e.metricId]:a),s=o===`TRIGGERED`&&e.state!==`TRIGGERED`?{...e,state:o,brokenValue:a??void 0,brokenAt:i?.asOf}:{...e,state:o};return o===`TRIGGERED`&&e.state!==`TRIGGERED`&&r.push(s),s}),newlyTriggered:r}}function Pe(e,t){return e.nextDataAt<=t||e.oneShotAt!==void 0&&e.oneShotAt<=t}function H(e){return e.oneShotAt===void 0?e.nextDataAt:Math.min(e.nextDataAt,e.oneShotAt)}function Fe(e,t=Date.now(),n=4){return e.filter(e=>Pe(e,t)).sort((e,t)=>H(e)-H(t)).slice(0,n)}function Ie(e,t=Date.now()){return e.filter(e=>e.nextAiAt<=t).sort((e,t)=>e.nextAiAt-t.nextAiAt)[0]??null}function U(e,t,n=Date.now()){return e.smartTrigger&&t.length>0?{fire:!0,trigger:t[0]}:(e.cadence.ai===`daily`||e.cadence.ai===`weekly`)&&n>=e.nextAiAt?{fire:!0,trigger:`scheduled`}:{fire:!1,trigger:null}}function W(e){let t=[];for(let n of o(e.sources)){let e=a(n);typeof e.title==`string`&&typeof e.url==`string`&&t.push({title:e.title,url:e.url})}return t}function G(e,t){return(e.sources?.length??0)>0||W(t).length>0}function Le(e){return`- VALUE "${e.label}" — ${e.query}`}function Re(e,t,n){let r=z(e.block.type);return r?`- DATA #${t} [${r}] ${e.refreshQuery}\n return EXACTLY: ${Te[r]}`:`- BLOCK #${t} [${e.block.type}] ${e.refreshQuery}\n`+(n?` expected props (use EXACTLY these field names): ${n}\n`:``)+` current content: ${JSON.stringify(e.block.props??{}).slice(0,600)}`}function ze(){return{values:{},widgets:{}}}function Be(e){return{metrics:e.metrics.filter(e=>e.query.trim()!==``&&!e.blankKey),targets:e.widgets.filter(e=>!!e.refreshQuery?.trim()&&!Ce(e))}}function Ve(e){let t=[e.block.type];if(e.block.type===`composite`){let n=e.block.props.regions;for(let e of n??[]){let n=e?.block?.type;typeof n==`string`&&n&&t.push(n)}}return t}function He(e,t,n){let r=n.reduce((e,t)=>e+(z(t.block.type)?300:1200),0);return 400+t.length*120+r+(e.prediction?150:0)}var Ue=12e3;function K(e){let t=[],n=1200;for(let r of e){let{metrics:e,targets:i}=Be(r);if(e.length===0&&i.length===0)continue;let a=He(r,e,i);if(t.length>0&&n+a>Ue)break;n+=a,t.push({d:r,metrics:e,targets:i})}return t}function We(e,t){let n=Math.max(0,Math.round((t-e)/6e4));if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function Ge(e,t,n){let r=[...e.metrics.map(Le),...e.targets.map((e,t)=>Re(e,t,n(e.block.type))),...e.d.prediction?[`- PREVIOUS EXPECTATION (made ${We(e.d.prediction.at,t)}): "${e.d.prediction.text}" — grade it.`]:[]];return`DASHBOARD ${e.d.id} "${e.d.title}"\n${r.join(`
3
3
  `)}`}function Ke(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function qe(e,t){let n=e.dashboards;if(n===void 0&&t.length===1)return{[t[0].d.id]:e};let r=new Map,i=[];if(Array.isArray(n))for(let e of n){let t=a(e);i.push(t),typeof t.id==`string`&&t.id&&r.set(t.id,t)}else if(Ke(n))for(let[e,t]of Object.entries(n))r.set(e,a(t));let o={};return t.forEach((e,t)=>{o[e.d.id]=r.get(e.d.id)??i[t]??{}}),o}function Je(e){let t=a(e);if(typeof t.metricLabel!=`string`||!t.metricLabel.trim())return;let n=o(t.readings).filter(e=>typeof e==`string`&&!!e.trim());if(!(n.length<2))return{metricLabel:t.metricLabel.trim(),readings:n,note:typeof t.note==`string`?t.note.trim().slice(0,200):``}}function Ye(e){let t=a(e),n=typeof t.start==`string`?Date.parse(t.start):NaN,r=typeof t.end==`string`?Date.parse(t.end):NaN;if(!(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)&&!(r-n>6048e5))return{startAt:n,endAt:r,label:typeof t.label==`string`?t.label.trim().slice(0,60):``}}var Xe=` YOUR PREVIOUS ATTEMPT DID NOT ACTUALLY SEARCH (no citations came back). Before answering this time, you MUST run a real web search for every DASHBOARD section above and report only what those searches returned, listing the real URLs relied on in "sources" — this is not optional. If search is genuinely unavailable or turns up nothing, return null values and omit "sources" entirely; never invent a value or a source just to satisfy this instruction.`;async function Ze(e,t,n={}){let r=Date.now(),s={ok:!0,grounded:!1,perDashboard:{},sources:[],attempts:0};if(e.length===0&&!n.briefingContext)return s;try{let s=te(t.provider),c=e.flatMap(e=>e.targets.filter(e=>!z(e.block.type))),l=new Set(c.flatMap(Ve)),u=l.size>0,d=u?await i(()=>import(`./liveSchema-B4bQtO88.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])):null,f=e.map(e=>Ge(e,r,d?d.blockShapeHint:()=>null)).join(`
4
4
 
5
5
  `),p={type:`object`,properties:{dashboards:{type:`array`,description:`One object per DASHBOARD section above, in the same order, each echoing its id.`,items:{type:`object`,properties:{id:{type:`string`},values:{type:`object`,description:`Map of VALUE label -> current numeric value, or null.`},observations:{type:`array`,description:`Exactly one object per DATA item for this dashboard, in the same order, each in the exact shape that DATA line specifies.`,items:{type:`object`}},blocks:{type:`array`,description:`Exactly one block per BLOCK item for this dashboard, in order.`,items:{type:`object`,properties:{type:{type:`string`},props:{type:`object`}},required:[`type`,`props`]}},expects:{type:`string`,description:`A short "by next check" expectation — omit if nothing here is genuinely predictable.`},grade:{type:`object`,description:`ONLY when this dashboard has a PREVIOUS EXPECTATION line.`,properties:{result:{type:`string`},note:{type:`string`}}},disagreement:{type:`object`,description:`ONLY when two real sources genuinely disagreed on a value.`,properties:{metricLabel:{type:`string`},readings:{type:`array`,items:{type:`string`}},note:{type:`string`}}},liveWindow:{type:`object`,description:`ONLY when search revealed a real, bounded live-event window.`,properties:{start:{type:`string`},end:{type:`string`},label:{type:`string`}}}},required:[`id`]}},...n.briefingContext?{briefing:{type:`string`,description:`2-4 sentences summarizing ALL dashboards (this batch + the given CONTEXT), real values only; use [[shown|said]] pronunciation twins for speech-risky terms.`}}:{},sources:{type:`array`,description:`OMIT unless this call used web search. Real source URLs actually relied on — never invented.`,items:{type:`object`,properties:{title:{type:`string`},url:{type:`string`}},required:[`title`,`url`]}}},required:[`dashboards`]},m=u===!1,h=Math.min(m?4e3:14e3,Math.max(m?1500:3e3,1200+e.reduce((e,t)=>e+He(t.d,t.metrics,t.targets),0)+(n.briefingContext?700:0))),g=j()+` You are checking several standing trackers at once. Return ONLY JSON: {"dashboards": [{"id": string, "values": {...}, "observations": [...], "blocks": [...], "expects"?: string, "grade"?: {...}, "disagreement"?: {...}, "liveWindow"?: {...}}, ...], `+(n.briefingContext?`"briefing": string, `:``)+`"sources": [...]}. Use web search for every DASHBOARD section below — never invent a value or detail. ECHO each dashboard's exact "id" so results map back correctly. For a VALUE item, give its CURRENT real number (no units) or null if unverifiable. For a BLOCK For a DATA item, return ONE object in "observations" (same order as the DATA lines) in the exact shape that line prints — plain data, no component or prop names, and omit the entry entirely rather than inventing a value you did not find. For a BLOCK item, produce exactly one block whose "type" is the EXACT bracketed type given — never substitute a different one — matching its current content for detail level (real names, numbers, dates). Where a BLOCK lists "expected props", copy that shape EXACTLY: the same field names, and an array shown as string[] takes plain strings, never objects. CRITICAL — a "current content" showing something live, in progress, or upcoming is NOT necessarily still true right now: explicitly check whether it has SINCE concluded and report the concluding outcome if so, reasoning from the date/time above which of upcoming/live/finished applies at this exact moment. If a dashboard has a PREVIOUS EXPECTATION line, grade it honestly ("hit" it came true, "miss" it did not, "unclear" if genuinely unknowable yet) — grade ONLY dashboards that have this line, never invent a grade otherwise. Offer a fresh "expects" only when something is genuinely predictable by the next check; most checks have nothing worth predicting, so omit it far more often than not. If two real sources genuinely disagree on a value, report it in "disagreement" instead of silently picking one. If search reveals a real bounded live-event window (a match's actual start/end time) for a dashboard, report it in "liveWindow" with ISO start/end — never invent a time. `+(n.briefingContext?`Also compose "briefing": 2-4 warm, concrete sentences summarizing ALL dashboards — this batch PLUS the CONTEXT lines below (already-known values — do NOT search for those, use them as given) — real values only, never memory. The briefing is displayed and spoken: preserve normal spelling on the left, but wrap every name, place, brand, or non-English term a voice might mispronounce as [[shown|said]] (for example [[Omakase|oh-mah-kah-seh]]). The said side must be lowercase voice-safe syllables matching a native/source-language pronunciation, never IPA or an Anglicized guess. `:``)+`If search genuinely turns up nothing more specific than what is already shown, say so honestly rather than inventing new specifics or repeating the old ones as if just confirmed. CITE SOURCES — every real URL actually relied on, in "sources"; omit it entirely if you used no search.`,_=`Use web search.\n\n${f}`+(n.briefingContext?`\n\nCONTEXT (already known — do not search these):\n${n.briefingContext}`:``),v=e=>s.generate({system:e?g+Xe:g,history:[],user:_,maxTokens:h,temperature:.15,thinkingLevel:e?`high`:`low`,tools:{webSearch:!0,requireSearch:!0},format:p,...u?{blockTypes:[...l],complexity:`brief`}:{}},t).then(e=>({rr:e,grounded:G(e,a(ne(e.raw)))})),y=await v(!1),b=1;!y.grounded&&e.length>0&&(y=await v(!0),b=2);let{rr:x}=y,S=a(ne(x.raw)),w=G(x,S),T=qe(S,e),E=x.sources&&x.sources.length?x.sources:W(S),re=[...new Set(E.map(e=>ie(e.url)).filter(Boolean))],D=d?d.validateLiveResponse:null,k={};for(let t of e){let e=T[t.d.id]??{},n=ze();if(w&&t.metrics.length>0){let r=a(e.values),i=new Map(Object.entries(r).map(([e,t])=>[P(e),t]));for(let e of t.metrics){let t=C(r[e.label]??i.get(P(e.label)));t!==null&&(n.values[e.id]={value:t,raw:O(String(t),e.unit)})}}if(t.targets.length>0&&w){let i=o(e.observations??e.data);t.targets.forEach((e,a)=>{let o=z(e.block.type);if(!o)return;let s=De(o,i[a]);if(!s)return;let c=e.block.props??{},l=e.metricId?t.d.metrics.find(t=>t.id===e.metricId):void 0,u=ke(e.block.type,s,c,l?.unit);u&&(n.widgets[e.id]={...e.block,props:u},ee(t.d.id,e.id,s,r,re))})}if(t.targets.length>0&&D){let r=o(e.blocks);t.targets.forEach((e,t)=>{if(z(e.block.type))return;let i=r[t];if(!i)return;let a=D({narration:``,title:`x`,sub:``,blocks:[i]},new Set(Ve(e)),1,w,!0)?.blocks[0];a&&a.type===e.block.type&&(n.widgets[e.id]=a)})}if(w){let r=oe(e.expects);if(r&&(n.expects=r),t.d.prediction){let t=ae(e.grade);t&&(n.grade=t)}let i=Je(e.disagreement);i&&(n.disagreement=i);let a=Ye(e.liveWindow);a&&(n.liveWindow=a)}k[t.d.id]=n}Object.values(k).every(e=>Object.keys(e.values).length===0&&Object.keys(e.widgets).length===0&&!e.expects)&&console.warn(`[dashboards] refreshDashboards got a response but nothing parsed out of it for any dashboard (${w?`empty/unparseable`:`ungrounded after ${b} attempt${b>1?`s`:``}, discarded`})`,{dashboardIds:e.map(e=>e.d.id),raw:x.raw});let A=n.briefingContext&&w&&typeof S.briefing==`string`&&S.briefing.trim()?S.briefing.trim():void 0;return{ok:!0,grounded:w,perDashboard:k,sources:E,attempts:b,...A?{briefing:A}:{}}}catch(t){console.error(`[dashboards] refreshDashboards failed`,t);let n={};for(let t of e)n[t.d.id]=ze();return{ok:!1,grounded:!1,perDashboard:n,sources:[],attempts:0,failure:Ae(t)}}}function Qe(e){let t=Array.isArray(e?.sources)?e.sources:[],n=[];for(let e of t){let t=e&&typeof e==`object`?e:{};typeof t.title==`string`&&typeof t.url==`string`&&n.push({title:t.title,url:t.url})}return n}function $e(e){try{let t=typeof e==`string`?JSON.parse(et(e)):e,n=t?.verdict;return{text:typeof n==`string`&&n.trim()?n.trim():null,sources:Qe(t)}}catch{return{text:typeof e==`string`&&e.trim()?e.trim():null,sources:[]}}}function et(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);return t>=0&&n>t?e.slice(t,n+1):e}async function q(e,t,n,r=Date.now()){try{let i=te(n.provider),a=t===`scheduled`?null:t,o=a?e.metrics.find(e=>e.id===a.metricId):void 0,s=e.metrics.map(e=>`${e.label}=${e.lastRaw??`—`}`).join(`, `),c=a?`A line the user set just crossed: "${a.label}" — ${o?.label??a.label} is now ${o?.lastRaw??a.brokenValue??`past the threshold`}. Currently tracked: ${s}. Using web search, say briefly and honestly what the latest numbers show and whether this reads as a real move or just noise.`:`Currently tracked: ${s}. Using web search, give a brief, honest read: what the latest numbers show and what has materially changed since the last check.`,l=await i.generate({system:j()+` You give a brief, honest read on the latest numbers a user is tracking: what they show now, what has materially changed since the last check, and — if a specific line was crossed — whether that looks like a real move or noise. One or two plain sentences. Never invent data. CITE YOUR SOURCES — whenever you used web search, include the exact source URLs you actually relied on as a top-level "sources": [{"title": string, "url": string}] array; only real URLs from the search results — never invent one, and omit "sources" entirely if you didn’t search. Return ONLY JSON: {"verdict":"…","sources":[...]}.`,history:[],user:c,maxTokens:700,temperature:.3,thinkingLevel:`low`,tools:{webSearch:!0}},n),{text:u,sources:d}=$e(l.raw);return u?{text:u,at:r,grounded:(l.sources?.length??0)>0||d.length>0,...l.sources&&l.sources.length?{sources:l.sources}:{},...a?{tripwireId:a.id}:{}}:null}catch(e){return console.error(`[dashboards] analyzeMove failed`,e),null}}function tt(e){let t=(e??[]).slice(-3);if(t.length<3)return 0;let[n,r,i]=t;return n.value<r.value&&r.value<i.value?1:n.value>r.value&&r.value>i.value?-1:0}function nt(e){let t=e.metrics.filter(e=>(e.history?.length??0)>=3);for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let i=t[n],a=t[r],o=tt(i.history);if(o!==0&&o===tt(a.history))return{text:`${i.label} and ${a.label} have moved together over the last three checks.`,dashboardIds:[e.id]}}return null}function rt(e,t){let n=e.filter(e=>{let n=e.cadence.window;return!!n&&t>=n.startAt&&t<=n.endAt});if(n.length<2)return null;let[r,i]=n;return{text:`${r.title} and ${i.title} overlap right now — their checks are batched into shared searches while both are live.`,dashboardIds:[r.id,i.id]}}var it=5;function at(e){if(e.cadence.data!==`15min`&&e.cadence.data!==`hourly`)return null;let t=e.metrics.find(e=>(e.history?.length??0)>=it);if(!t?.history)return null;let n=t.history.slice(-5);return n.every(e=>e.value===n[0].value)?{text:`${t.label} hasn't moved across ${e.title}'s last ${it} checks.`,dashboardIds:[e.id]}:null}function ot(e,t){let n=t.note?` ${t.note}`:``;return{text:`Sources disagreed on ${t.metricLabel}: ${t.readings.join(` vs `)}.${n}`,dashboardIds:[e.id]}}var st=432e5;function ct(e,t,n){let r=n-st;return e.some(e=>e.kind===`insight`&&e.at>=r&&e.text===t.text)}function lt(e,t,n,r=2){let i=[],a=rt(e,n);a&&i.push(a);for(let t of e){let e=nt(t);e&&i.push(e);let n=at(t);n&&i.push(n)}return i.filter(e=>!ct(t,e,n)).slice(0,r)}var ut=e({checkAllDashboardsNow:()=>Ct,readDashboardNow:()=>wt,refreshDashboardNow:()=>St,runRefreshBatch:()=>$,selectTickTargets:()=>Tt,useDashboardLoop:()=>Et,useVerdictPending:()=>ht}),dt=15e3,ft=3e5;function pt(e,t){switch(e?.kind){case`rate-limit`:return e.retryAt?Math.max(15e3,e.retryAt-t):6e4;case`provider-unavailable`:return 12e4;case`auth`:return 216e5;default:return ft}}var J=new Set,Y=new Set,X=`mavea-dashboard-verdict-pending`;function Z(e,t){t?Y.add(e):Y.delete(e);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(X,{detail:e}))}catch{}}function mt(e){return window.addEventListener(X,e),()=>window.removeEventListener(X,e)}function ht(e){let t=(0,fe.c)(2),n;return t[0]===e?n=t[1]:(n=()=>Y.has(e),t[0]=e,t[1]=n),(0,N.useSyncExternalStore)(mt,n,gt)}function gt(){return!1}function _t(e,t){return e.map(e=>{let n=t.perDashboard[e.d.id]??{values:{},widgets:{}},r=e.metrics.find(e=>n.values[e.id]);return r?`${e.d.title} at ${n.values[r.id].raw}`:e.targets.some(e=>n.widgets[e.id])?`${e.d.title} updated`:t.grounded?`${e.d.title} checked`:`${e.d.title} — couldn't verify`}).join(` · `)}var Q=`Daily search budget reached — auto-checks paused until midnight. Manual checks still work.`;function vt(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function yt(e){let t=vt(e);w().some(e=>e.kind===`savings`&&e.at>=t&&e.text===Q)||T({kind:`savings`,text:Q,dashboardIds:[],searches:0})}async function bt(e,t,n,r,i,a,o=!1){let{d:c}=e,l=Object.keys(t.values).length>0||Object.keys(t.widgets).length>0?`updated`:o?`unverified`:`no-change`,u=c.metrics.map(e=>{let n=t.values[e.id];return n?{...e,lastValue:n.value}:e}),d={...c,metrics:u},{tripwires:f,newlyTriggered:p}=V(d,n),g=c.oneShotAt!==void 0&&c.oneShotAt<=a;v(c.id,{values:Object.entries(t.values).map(([e,t])=>({metricId:e,value:t.value,raw:t.raw,origin:`search`})),blocks:Object.entries(t.widgets).map(([e,t])=>({widgetId:e,block:t})),tripwires:f,outcome:l,...t.expects?{expects:t.expects}:{},...t.grade?{grade:t.grade}:{},...g?{consumedOneShot:!0}:{}},a),p.length&&(se(d,p),T({kind:`alert`,text:`${p.map(e=>e.label).join(`, `)} crossed the line you set.`,dashboardIds:[c.id],searches:0}),d.alerts.inApp&&ue({dashboardId:c.id,dashboardTitle:c.title,tripwireLabel:p[0].label})),t.disagreement&&T({kind:`insight`,text:ot(c,t.disagreement).text,dashboardIds:[c.id],searches:0});let _={...c,tripwires:f},y=U(_,p,a);if(y.fire&&y.trigger&&i){Z(c.id,!0);let e=await q(_,y.trigger,r,a);Z(c.id,!1),e?s(c.id,e,a):h(c.id,a,`Mavéa couldn't get a fresh read — will try again.`),m(c.id,a),T({kind:y.trigger===`scheduled`?`check`:`alert`,text:e?e.text.slice(0,200):`Couldn't get a fresh read on ${c.title}.`,dashboardIds:[c.id],searches:1,...e?.sources?.length?{sourceCount:e.sources.length}:{}})}else y.fire&&y.trigger&&m(c.id,a);return l}async function $(e,t,n,r={}){let i=Date.now(),a={},o=K(e),s=e.filter(e=>!o.some(t=>t.d.id===e.id)),c={};for(let t of e)c[t.id]=Object.fromEntries(t.metrics.map(e=>[e.id,e.lastValue]));for(let e of s)a[e.id]=await bt({d:e,metrics:[],targets:[]},{values:{},widgets:{}},c[e.id],t,n,i);if(o.length===0)return a;let d=new Map(o.map(e=>[e.d.id,f(e.d.id,i)])),m=e=>{for(let t of d.values())e(t)};if(!n)return a;let h=o.map(e=>e.d.id);A(h,!0);try{let e=await Ze(o,t,r.briefing?{briefingContext:r.briefing.context}:{});if(!e.ok){let t=e.failure??{kind:`network`},n=pt(e.failure,i);m(n=>{l(n,`search`,!1,{detail:u(t)}),p(n,{outcome:`failed`,failure:t,attempts:e.attempts})});for(let e of o)y(e.d.id,i+n),b(e.d.id,t,i),a[e.d.id]=`failed`;return a}for(let r of o){let o=e.perDashboard[r.d.id]??{values:{},widgets:{}},s=d.get(r.d.id)??null;l(s,`search`,!0,{count:e.attempts}),l(s,`sources`,e.sources.length>0,{count:e.sources.length,...e.sources.length===0?{detail:`The model answered without citing a live source.`}:{}});let u=Object.keys(o.values).length+Object.keys(o.widgets).length;l(s,`extraction`,u>0,{count:u,...u===0?{detail:`Nothing in the reply matched this tracker’s metrics or cards.`}:{}}),l(s,`grounding`,e.grounded,{...e.grounded?{}:{detail:`Ungrounded — every value from it was discarded.`}}),a[r.d.id]=await bt(r,o,c[r.d.id],t,n,i,!e.grounded);let f=a[r.d.id];l(s,`saved`,f===`updated`||f===`no-change`),l(s,`tripwires`,!0),p(s,{outcome:f===`failed`?`failed`:f,attempts:e.attempts,...f===`unverified`?{failure:{kind:`ungrounded`}}:{}})}r.briefing&&e.briefing&&(M(e.briefing,r.briefing.allDashboards,i),T({kind:`briefing`,text:`Morning briefing compiled — folded into this batched search.`,dashboardIds:o.map(e=>e.d.id),searches:0}));let s=[...new Set(e.sources.map(e=>ie(e.url)))].filter(Boolean);return T({kind:`check`,text:_t(o,e),dashboardIds:o.map(e=>e.d.id),...s.length?{domains:s}:{},searches:1,...e.sources.length?{sourceCount:e.sources.length}:{},...r.manual?{manual:!0}:{}}),a}finally{A(h,!1)}}async function xt(e,t,n,r){let{tripwires:i,newlyTriggered:a}=V(e);d(e.id,i,r),a.length&&(se(e,a),e.alerts.inApp&&ue({dashboardId:e.id,dashboardTitle:e.title,tripwireLabel:a[0].label}));let o={...e,tripwires:i},c=U(o,a,r);if(!c.fire||!c.trigger||!n)return;Z(e.id,!0);let l=await q(o,c.trigger,t,r);Z(e.id,!1),l?s(e.id,l,r):h(e.id,r,`Mavéa couldn't get a fresh read — will try again.`),m(e.id,r),T({kind:c.trigger===`scheduled`?`check`:`alert`,text:l?l.text.slice(0,200):`Couldn't get a fresh read on ${e.title}.`,dashboardIds:[e.id],searches:1,...l?.sources?.length?{sourceCount:l.sources.length}:{}})}async function St(e){if(J.has(e))return`busy`;let t=_(e);if(!t)return`busy`;let n=x(S());if(!n.apiKey)return`no-model`;J.add(e);try{let r=await $([t],n,!0,{manual:!0});return r[e]===`failed`?`failed`:r[e]===`unverified`?`unverified`:`done`}finally{J.delete(e)}}async function Ct(){let e=x(S());if(!e.apiKey)return`no-model`;let t=g().filter(D),n=t.filter(e=>!J.has(e.id));if(n.length===0)return t.length>0?`busy`:`done`;for(;n.length>0;){let t=K(n);if(t.length===0)break;let r=t.map(e=>e.d.id);r.forEach(e=>J.add(e));let i={};try{i=await $(t.map(e=>e.d),e,!0,{manual:!0})}finally{r.forEach(e=>J.delete(e))}if(r.length>0&&r.every(e=>i[e]===`failed`))return`failed`;n=n.filter(e=>!r.includes(e.id))}return`done`}async function wt(e){if(Y.has(e))return`busy`;let t=_(e);if(!t)return`failed`;let n=x(S());if(!n.apiKey)return`no-model`;let r=Date.now(),i=t.tripwires.find(e=>e.state===`TRIGGERED`),a=i??`scheduled`;Z(e,!0);let o;try{o=await q(t,a,n,r)}finally{Z(e,!1)}return o?s(e,o,r):h(e,r,`Mavéa couldn’t get a fresh read — try again in a moment.`),m(e,r),T({kind:i?`alert`:`check`,text:o?o.text.slice(0,200):`Couldn’t get a fresh read on ${t.title}.`,dashboardIds:[e],searches:1,manual:!0,...o?.sources?.length?{sourceCount:o.sources.length}:{}}),o?`done`:`failed`}function Tt(e,t,n,r,i){let a=Fe(e,r).filter(e=>!i.has(e.id)),o=Ie(e,r);o&&i.has(o.id)&&(o=null);let s=k(t,n,r),c=!1;s.paused&&(c=a.some(D)||!!o,a=a.filter(e=>!D(e)),o=null);let l=K(a);return o&&l.some(e=>e.d.id===o.id)&&(o=null),{dueData:a,dueAi:o,pausedAndBlocked:c}}function Et(){let e=(0,N.useRef)(!1);(0,N.useEffect)(()=>{let t=!0,n=async()=>{if(e.current||!t||typeof document<`u`&&document.visibilityState!==`visible`)return;let n=x(S()),r=!!n.apiKey,i=Date.now(),a=g(),o=re(),s=w();de(a,s,e=>E(s,e,i),e=>c(e,i-6048e5,i),i);for(let e of lt(a,s,i))T({kind:`insight`,text:e.text,dashboardIds:e.dashboardIds,searches:0});let{dueData:l,dueAi:u,pausedAndBlocked:d}=Tt(a,s,o.dailySearchBudget,i,J);d&&yt(i);let f=r&&o.briefingEnabled&&le(i);if(l.length===0&&!u){if(f&&!a.some(D)){let e=ce(a,new Set);if(e){let t=await Ze([],n,{briefingContext:e});t.briefing&&(M(t.briefing,a,i),T({kind:`briefing`,text:`Morning briefing compiled.`,dashboardIds:[],searches:1}))}}return}e.current=!0,l.forEach(e=>J.add(e.id)),u&&J.add(u.id);try{if(l.length>0){let e=f?{context:ce(a,new Set(K(l).map(e=>e.d.id))),allDashboards:a}:void 0;await $(l,n,r,e?{briefing:e}:{})}u&&await xt(u,n,r,i)}finally{l.forEach(e=>J.delete(e.id)),u&&J.delete(u.id),e.current=!1}},r=()=>{he(n).catch(e=>{console.error(`[dashboards] scheduled tick failed`,e)})},i=window.setInterval(r,dt),a=()=>{document.visibilityState===`visible`&&r()};return document.addEventListener(`visibilitychange`,a),r(),()=>{t=!1,window.clearInterval(i),document.removeEventListener(`visibilitychange`,a)}},[])}export{ht as a,ge as c,ut as i,P as l,St as n,V as o,Et as r,we as s,wt as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r,r as i,t as a}from"./theme-7IrMJ70_.js";import{C as o,D as s,E as c,O as l,T as u,w as d}from"./index-Dk0QapqQ.js";import{u as f}from"./useLiveConfig-Cpy0_E_-.js";import{a as p,i as m,o as h,t as g}from"./store-D2IJF4SA.js";import{r as _,t as v}from"./queue-Adae4IzW.js";var y=t(),b=e(),x=n(),S=[`smaller`,`normal`,`larger`],C={smaller:`Smaller`,normal:`Normal`,larger:`Larger`},w=`mavea:appearancechange`;function T(e){window.dispatchEvent(new CustomEvent(w,{detail:e}))}function E(){let e=(0,y.c)(11),[t,n]=(0,b.useState)(O),[o,u]=(0,b.useState)(D),[p,m]=f(),h,g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{let e=e=>{let t=e.detail;t&&(n(t.template),u(t.theme))};return window.addEventListener(w,e),()=>window.removeEventListener(w,e)},g=[],e[0]=h,e[1]=g):(h=e[0],g=e[1]),(0,b.useEffect)(h,g);let _;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{s(document,e),d(document,e),c(e);let t={template:e,theme:r()};n(e),u(t.theme),T(t)},e[2]=_):_=e[2];let v=_,x;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{a(e),i(e);let t={template:l(),theme:e};n(t.template),u(e),T(t)},e[3]=x):x=e[3];let S=x,C;e[4]===m?C=e[5]:(C=e=>m({fontScale:e}),e[4]=m,e[5]=C);let E=C,k;return e[6]!==t||e[7]!==p.fontScale||e[8]!==E||e[9]!==o?(k={active:t,theme:o,fontScale:p.fontScale,pickTemplate:v,pickTheme:S,pickFontScale:E},e[6]=t,e[7]=p.fontScale,e[8]=E,e[9]=o,e[10]=k):k=e[10],k}function D(){return r()}function O(){return l()}function k(e){let t=(0,y.c)(13),{templateId:n}=e,r;t[0]===n?r=t[1]:(r=o.find(e=>e.id===n)??o[0],t[0]=n,t[1]=r);let i=r,a;t[2]!==i.preview.accent||t[3]!==i.preview.background||t[4]!==i.preview.ink||t[5]!==i.preview.surface?(a={"--preview-bg":i.preview.background,"--preview-surface":i.preview.surface,"--preview-ink":i.preview.ink,"--preview-accent":i.preview.accent},t[2]=i.preview.accent,t[3]=i.preview.background,t[4]=i.preview.ink,t[5]=i.preview.surface,t[6]=a):a=t[6];let s=a,c=`appearance-preview appearance-preview--${i.preview.geometry}`,l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,x.jsx)(`span`,{className:`appearance-preview-aa`,children:`Aa`}),t[7]=l):l=t[7];let u,d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,x.jsxs)(`span`,{className:`appearance-preview-copy`,children:[(0,x.jsx)(`i`,{}),(0,x.jsx)(`i`,{})]}),d=(0,x.jsx)(`span`,{className:`appearance-preview-data`,children:`08`}),t[8]=u,t[9]=d):(u=t[8],d=t[9]);let f;return t[10]!==s||t[11]!==c?(f=(0,x.jsxs)(`span`,{className:c,style:s,"aria-hidden":`true`,children:[l,u,d]}),t[10]=s,t[11]=c,t[12]=f):f=t[12],f}function A({active:e,theme:t,fontScale:n,embedded:r=!1,onPickTemplate:i,onPickTheme:a,onPickFontScale:s,onClose:c,optionRefs:l}){let u=(0,b.useId)(),d=(e,t)=>{let n;if(e.key===`ArrowRight`||e.key===`ArrowDown`)n=(t+1)%o.length;else if(e.key===`ArrowLeft`||e.key===`ArrowUp`)n=(t-1+o.length)%o.length;else if(e.key===`Home`)n=0;else if(e.key===`End`)n=o.length-1;else return;e.preventDefault(),l?.current[n]?.focus()};return(0,x.jsxs)(`div`,{className:`appearance-panel${r?` is-embedded`:``}`,role:r?void 0:`dialog`,"aria-modal":!r||void 0,"aria-labelledby":u,children:[(0,x.jsxs)(`div`,{className:`appearance-head`,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`h2`,{id:u,children:r?`Appearance`:`Choose your workspace`}),(0,x.jsx)(`p`,{children:`A visual identity for how you think.`})]}),c&&(0,x.jsx)(`button`,{type:`button`,className:`appearance-close`,onClick:c,"aria-label":`Close appearance`,children:`×`})]}),(0,x.jsxs)(`div`,{className:`appearance-mode`,"aria-label":`Color mode`,children:[(0,x.jsx)(`span`,{children:`Color mode`}),(0,x.jsx)(`div`,{className:`appearance-segmented`,children:[`light`,`dark`].map(e=>(0,x.jsxs)(`button`,{type:`button`,"aria-pressed":t===e,className:t===e?`is-active`:``,onClick:()=>a(e),children:[(0,x.jsx)(`span`,{className:`appearance-mode-icon is-${e}`,"aria-hidden":`true`}),e===`light`?`Light`:`Dark`]},e))})]}),(0,x.jsxs)(`div`,{className:`appearance-mode`,"aria-label":`Text size`,children:[(0,x.jsx)(`span`,{children:`Text size`}),(0,x.jsx)(`div`,{className:`appearance-segmented is-triple`,children:S.map(e=>(0,x.jsx)(`button`,{type:`button`,"aria-pressed":n===e,className:n===e?`is-active`:``,onClick:()=>s(e),children:C[e]},e))})]}),(0,x.jsx)(`div`,{className:`appearance-grid`,role:`radiogroup`,"aria-label":`Workspace themes`,children:o.map((t,n)=>(0,x.jsxs)(`button`,{ref:e=>{l&&(l.current[n]=e)},type:`button`,role:`radio`,"aria-label":`${t.label}, ${t.persona}. ${t.tagline} Best for ${t.bestFor}.`,"aria-checked":t.id===e,tabIndex:t.id===e?0:-1,className:`appearance-option${t.id===e?` is-active`:``}`,onClick:()=>i(t.id),onKeyDown:e=>d(e,n),children:[(0,x.jsx)(k,{templateId:t.id}),(0,x.jsxs)(`span`,{className:`appearance-option-copy`,children:[(0,x.jsxs)(`span`,{className:`appearance-option-title`,children:[(0,x.jsx)(`strong`,{children:t.label}),(0,x.jsx)(`em`,{children:t.persona})]}),(0,x.jsx)(`span`,{className:`appearance-option-tagline`,children:t.tagline}),(0,x.jsxs)(`span`,{className:`appearance-option-best`,children:[`Best for `,t.bestFor.toLowerCase()]}),(0,x.jsx)(`span`,{className:`appearance-option-font`,children:t.preview.fontRole})]}),(0,x.jsx)(`span`,{className:`appearance-check`,"aria-hidden":`true`,children:`✓`})]},t.id))})]})}function j({triggerClassName:e=`topbar-icon-btn`}={}){let{active:t,theme:n,fontScale:r,pickTemplate:i,pickTheme:a,pickFontScale:c}=E(),[l,d]=(0,b.useState)(!1),f=(0,b.useRef)(null),p=(0,b.useRef)(null),m=(0,b.useRef)([]);(0,b.useEffect)(()=>u(document),[]);let h=(0,b.useCallback)(()=>{d(!1),requestAnimationFrame(()=>p.current?.focus())},[]);(0,b.useEffect)(()=>{if(!l)return;s(document);let e=o.findIndex(e=>e.id===t);requestAnimationFrame(()=>{if(window.matchMedia?.(`(max-width: 720px)`).matches??!1){f.current?.querySelector(`.appearance-close`)?.focus({preventScroll:!0});return}m.current[Math.max(0,e)]?.focus({preventScroll:!0})});let n=e=>{f.current&&!f.current.contains(e.target)&&h()},r=e=>{if(e.key===`Escape`){e.preventDefault(),h();return}if(e.key!==`Tab`||!f.current)return;let t=Array.from(f.current.querySelectorAll(`button:not([disabled])`));if(!t.length)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())};return window.addEventListener(`pointerdown`,n),window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`pointerdown`,n),window.removeEventListener(`keydown`,r)}},[t,h,l]);let g=o.find(e=>e.id===t)??o[0];return(0,x.jsxs)(`div`,{className:`tpl-picker appearance-picker`,ref:f,children:[(0,x.jsx)(`button`,{ref:p,type:`button`,className:`${e} tpl-btn appearance-trigger`,onClick:()=>d(e=>!e),title:`Appearance: ${g.label} · ${g.persona} · ${n===`light`?`Light`:`Dark`}`,"aria-label":`Choose appearance (current: ${g.label}, ${g.persona}, ${n} mode)`,"aria-expanded":l,"aria-haspopup":`dialog`,children:(0,x.jsxs)(`span`,{className:`appearance-mark`,"aria-hidden":`true`,children:[(0,x.jsx)(`i`,{style:{background:g.preview.accent}}),(0,x.jsx)(`i`,{style:{background:g.preview.surface}})]})}),l&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`button`,{className:`appearance-backdrop`,type:`button`,onClick:h,"aria-label":`Close appearance`}),(0,x.jsx)(A,{active:t,theme:n,fontScale:r,onPickTemplate:i,onPickTheme:a,onPickFontScale:c,onClose:h,optionRefs:m})]})]})}function M(){let e=(0,y.c)(7),{active:t,theme:n,fontScale:r,pickTemplate:i,pickTheme:a,pickFontScale:o}=E(),s;return e[0]!==t||e[1]!==r||e[2]!==o||e[3]!==i||e[4]!==a||e[5]!==n?(s=(0,x.jsx)(A,{embedded:!0,active:t,theme:n,fontScale:r,onPickTemplate:i,onPickTheme:a,onPickFontScale:o}),e[0]=t,e[1]=r,e[2]=o,e[3]=i,e[4]=a,e[5]=n,e[6]=s):s=e[6],s}function N(e){let[t,n]=(0,b.useState)(e);return(0,b.useEffect)(()=>{if(typeof window>`u`)return;let t=()=>n(e());return t(),window.addEventListener(g,t),window.addEventListener(`focus`,t),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(g,t),window.removeEventListener(`focus`,t),document.removeEventListener(`visibilitychange`,t)}},[]),t}function P(){return N(v)}function F(){return N(h)}function I(){return N(p)}function L(){return N(R)}function R(){return m()}function z(){return N(B)}function B(){return _()}export{P as a,F as i,I as n,M as o,z as r,j as s,L as t};
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r,r as i,t as a}from"./theme-7IrMJ70_.js";import{C as o,D as s,E as c,O as l,T as u,w as d}from"./index-zIa6h_8b.js";import{u as f}from"./useLiveConfig-Cpy0_E_-.js";import{a as p,i as m,o as h,t as g}from"./store-D2IJF4SA.js";import{r as _,t as v}from"./queue-Adae4IzW.js";var y=t(),b=e(),x=n(),S=[`smaller`,`normal`,`larger`],C={smaller:`Smaller`,normal:`Normal`,larger:`Larger`},w=`mavea:appearancechange`;function T(e){window.dispatchEvent(new CustomEvent(w,{detail:e}))}function E(){let e=(0,y.c)(11),[t,n]=(0,b.useState)(O),[o,u]=(0,b.useState)(D),[p,m]=f(),h,g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{let e=e=>{let t=e.detail;t&&(n(t.template),u(t.theme))};return window.addEventListener(w,e),()=>window.removeEventListener(w,e)},g=[],e[0]=h,e[1]=g):(h=e[0],g=e[1]),(0,b.useEffect)(h,g);let _;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{s(document,e),d(document,e),c(e);let t={template:e,theme:r()};n(e),u(t.theme),T(t)},e[2]=_):_=e[2];let v=_,x;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{a(e),i(e);let t={template:l(),theme:e};n(t.template),u(e),T(t)},e[3]=x):x=e[3];let S=x,C;e[4]===m?C=e[5]:(C=e=>m({fontScale:e}),e[4]=m,e[5]=C);let E=C,k;return e[6]!==t||e[7]!==p.fontScale||e[8]!==E||e[9]!==o?(k={active:t,theme:o,fontScale:p.fontScale,pickTemplate:v,pickTheme:S,pickFontScale:E},e[6]=t,e[7]=p.fontScale,e[8]=E,e[9]=o,e[10]=k):k=e[10],k}function D(){return r()}function O(){return l()}function k(e){let t=(0,y.c)(13),{templateId:n}=e,r;t[0]===n?r=t[1]:(r=o.find(e=>e.id===n)??o[0],t[0]=n,t[1]=r);let i=r,a;t[2]!==i.preview.accent||t[3]!==i.preview.background||t[4]!==i.preview.ink||t[5]!==i.preview.surface?(a={"--preview-bg":i.preview.background,"--preview-surface":i.preview.surface,"--preview-ink":i.preview.ink,"--preview-accent":i.preview.accent},t[2]=i.preview.accent,t[3]=i.preview.background,t[4]=i.preview.ink,t[5]=i.preview.surface,t[6]=a):a=t[6];let s=a,c=`appearance-preview appearance-preview--${i.preview.geometry}`,l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,x.jsx)(`span`,{className:`appearance-preview-aa`,children:`Aa`}),t[7]=l):l=t[7];let u,d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,x.jsxs)(`span`,{className:`appearance-preview-copy`,children:[(0,x.jsx)(`i`,{}),(0,x.jsx)(`i`,{})]}),d=(0,x.jsx)(`span`,{className:`appearance-preview-data`,children:`08`}),t[8]=u,t[9]=d):(u=t[8],d=t[9]);let f;return t[10]!==s||t[11]!==c?(f=(0,x.jsxs)(`span`,{className:c,style:s,"aria-hidden":`true`,children:[l,u,d]}),t[10]=s,t[11]=c,t[12]=f):f=t[12],f}function A({active:e,theme:t,fontScale:n,embedded:r=!1,onPickTemplate:i,onPickTheme:a,onPickFontScale:s,onClose:c,optionRefs:l}){let u=(0,b.useId)(),d=(e,t)=>{let n;if(e.key===`ArrowRight`||e.key===`ArrowDown`)n=(t+1)%o.length;else if(e.key===`ArrowLeft`||e.key===`ArrowUp`)n=(t-1+o.length)%o.length;else if(e.key===`Home`)n=0;else if(e.key===`End`)n=o.length-1;else return;e.preventDefault(),l?.current[n]?.focus()};return(0,x.jsxs)(`div`,{className:`appearance-panel${r?` is-embedded`:``}`,role:r?void 0:`dialog`,"aria-modal":!r||void 0,"aria-labelledby":u,children:[(0,x.jsxs)(`div`,{className:`appearance-head`,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`h2`,{id:u,children:r?`Appearance`:`Choose your workspace`}),(0,x.jsx)(`p`,{children:`A visual identity for how you think.`})]}),c&&(0,x.jsx)(`button`,{type:`button`,className:`appearance-close`,onClick:c,"aria-label":`Close appearance`,children:`×`})]}),(0,x.jsxs)(`div`,{className:`appearance-mode`,"aria-label":`Color mode`,children:[(0,x.jsx)(`span`,{children:`Color mode`}),(0,x.jsx)(`div`,{className:`appearance-segmented`,children:[`light`,`dark`].map(e=>(0,x.jsxs)(`button`,{type:`button`,"aria-pressed":t===e,className:t===e?`is-active`:``,onClick:()=>a(e),children:[(0,x.jsx)(`span`,{className:`appearance-mode-icon is-${e}`,"aria-hidden":`true`}),e===`light`?`Light`:`Dark`]},e))})]}),(0,x.jsxs)(`div`,{className:`appearance-mode`,"aria-label":`Text size`,children:[(0,x.jsx)(`span`,{children:`Text size`}),(0,x.jsx)(`div`,{className:`appearance-segmented is-triple`,children:S.map(e=>(0,x.jsx)(`button`,{type:`button`,"aria-pressed":n===e,className:n===e?`is-active`:``,onClick:()=>s(e),children:C[e]},e))})]}),(0,x.jsx)(`div`,{className:`appearance-grid`,role:`radiogroup`,"aria-label":`Workspace themes`,children:o.map((t,n)=>(0,x.jsxs)(`button`,{ref:e=>{l&&(l.current[n]=e)},type:`button`,role:`radio`,"aria-label":`${t.label}, ${t.persona}. ${t.tagline} Best for ${t.bestFor}.`,"aria-checked":t.id===e,tabIndex:t.id===e?0:-1,className:`appearance-option${t.id===e?` is-active`:``}`,onClick:()=>i(t.id),onKeyDown:e=>d(e,n),children:[(0,x.jsx)(k,{templateId:t.id}),(0,x.jsxs)(`span`,{className:`appearance-option-copy`,children:[(0,x.jsxs)(`span`,{className:`appearance-option-title`,children:[(0,x.jsx)(`strong`,{children:t.label}),(0,x.jsx)(`em`,{children:t.persona})]}),(0,x.jsx)(`span`,{className:`appearance-option-tagline`,children:t.tagline}),(0,x.jsxs)(`span`,{className:`appearance-option-best`,children:[`Best for `,t.bestFor.toLowerCase()]}),(0,x.jsx)(`span`,{className:`appearance-option-font`,children:t.preview.fontRole})]}),(0,x.jsx)(`span`,{className:`appearance-check`,"aria-hidden":`true`,children:`✓`})]},t.id))})]})}function j({triggerClassName:e=`topbar-icon-btn`}={}){let{active:t,theme:n,fontScale:r,pickTemplate:i,pickTheme:a,pickFontScale:c}=E(),[l,d]=(0,b.useState)(!1),f=(0,b.useRef)(null),p=(0,b.useRef)(null),m=(0,b.useRef)([]);(0,b.useEffect)(()=>u(document),[]);let h=(0,b.useCallback)(()=>{d(!1),requestAnimationFrame(()=>p.current?.focus())},[]);(0,b.useEffect)(()=>{if(!l)return;s(document);let e=o.findIndex(e=>e.id===t);requestAnimationFrame(()=>{if(window.matchMedia?.(`(max-width: 720px)`).matches??!1){f.current?.querySelector(`.appearance-close`)?.focus({preventScroll:!0});return}m.current[Math.max(0,e)]?.focus({preventScroll:!0})});let n=e=>{f.current&&!f.current.contains(e.target)&&h()},r=e=>{if(e.key===`Escape`){e.preventDefault(),h();return}if(e.key!==`Tab`||!f.current)return;let t=Array.from(f.current.querySelectorAll(`button:not([disabled])`));if(!t.length)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())};return window.addEventListener(`pointerdown`,n),window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`pointerdown`,n),window.removeEventListener(`keydown`,r)}},[t,h,l]);let g=o.find(e=>e.id===t)??o[0];return(0,x.jsxs)(`div`,{className:`tpl-picker appearance-picker`,ref:f,children:[(0,x.jsx)(`button`,{ref:p,type:`button`,className:`${e} tpl-btn appearance-trigger`,onClick:()=>d(e=>!e),title:`Appearance: ${g.label} · ${g.persona} · ${n===`light`?`Light`:`Dark`}`,"aria-label":`Choose appearance (current: ${g.label}, ${g.persona}, ${n} mode)`,"aria-expanded":l,"aria-haspopup":`dialog`,children:(0,x.jsxs)(`span`,{className:`appearance-mark`,"aria-hidden":`true`,children:[(0,x.jsx)(`i`,{style:{background:g.preview.accent}}),(0,x.jsx)(`i`,{style:{background:g.preview.surface}})]})}),l&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`button`,{className:`appearance-backdrop`,type:`button`,onClick:h,"aria-label":`Close appearance`}),(0,x.jsx)(A,{active:t,theme:n,fontScale:r,onPickTemplate:i,onPickTheme:a,onPickFontScale:c,onClose:h,optionRefs:m})]})]})}function M(){let e=(0,y.c)(7),{active:t,theme:n,fontScale:r,pickTemplate:i,pickTheme:a,pickFontScale:o}=E(),s;return e[0]!==t||e[1]!==r||e[2]!==o||e[3]!==i||e[4]!==a||e[5]!==n?(s=(0,x.jsx)(A,{embedded:!0,active:t,theme:n,fontScale:r,onPickTemplate:i,onPickTheme:a,onPickFontScale:o}),e[0]=t,e[1]=r,e[2]=o,e[3]=i,e[4]=a,e[5]=n,e[6]=s):s=e[6],s}function N(e){let[t,n]=(0,b.useState)(e);return(0,b.useEffect)(()=>{if(typeof window>`u`)return;let t=()=>n(e());return t(),window.addEventListener(g,t),window.addEventListener(`focus`,t),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(g,t),window.removeEventListener(`focus`,t),document.removeEventListener(`visibilitychange`,t)}},[]),t}function P(){return N(v)}function F(){return N(h)}function I(){return N(p)}function L(){return N(R)}function R(){return m()}function z(){return N(B)}function B(){return _()}export{P as a,F as i,I as n,M as o,z as r,j as s,L as t};
@@ -1 +1 @@
1
- import{T as e,j as t}from"./kokoro-P_fkcX-A.js";import{n,t as r}from"./nextFrame-12y0UrAd.js";var i=1100,a=15e3,o=1e4,s=12e3,c=8e3,l=3500,u=2500,d=3e3;function f(e){return e*2+12e3}function p(e,t=1700){let n=e.trim();return n?Math.min(7e3,Math.max(1500,Math.round(n.split(/\s+/).length*385+500))):t}function m(e){return new Promise(t=>setTimeout(t,e))}async function h(e,t=a){return await n(e.started,t)??!1}async function g(e,t,r=i){await Promise.all([n(e.finished,f(t)),m(r)])}function _(n){let r=n.speaking??e,i=n.subscribe??t;return new Promise(e=>{let t=!1,a=!1,o=()=>{a||(a=!0,c(),clearTimeout(l),e())},s=()=>{t&&!r()&&o()},c=i(s);setTimeout(()=>{t=!0,s()},n.floorMs);let l=setTimeout(o,n.capMs)})}async function v(e){try{await n((async()=>{await r(),await r(),await n(e.loadFams(),c),e.settle&&await e.settle(),e.wantVoice&&e.firstLine&&await n(e.firstLine.started,o)})(),s)}catch{}}export{v as a,p as c,_ as d,d as i,g as l,u as n,m as o,l as r,f as s,i as t,h as u};
1
+ import{T as e,j as t}from"./kokoro-B3oG_8sd.js";import{n,t as r}from"./nextFrame-12y0UrAd.js";var i=1100,a=15e3,o=1e4,s=12e3,c=8e3,l=3500,u=2500,d=3e3;function f(e){return e*2+12e3}function p(e,t=1700){let n=e.trim();return n?Math.min(7e3,Math.max(1500,Math.round(n.split(/\s+/).length*385+500))):t}function m(e){return new Promise(t=>setTimeout(t,e))}async function h(e,t=a){return await n(e.started,t)??!1}async function g(e,t,r=i){await Promise.all([n(e.finished,f(t)),m(r)])}function _(n){let r=n.speaking??e,i=n.subscribe??t;return new Promise(e=>{let t=!1,a=!1,o=()=>{a||(a=!0,c(),clearTimeout(l),e())},s=()=>{t&&!r()&&o()},c=i(s);setTimeout(()=>{t=!0,s()},n.floorMs);let l=setTimeout(o,n.capMs)})}async function v(e){try{await n((async()=>{await r(),await r(),await n(e.loadFams(),c),e.settle&&await e.settle(),e.wantVoice&&e.firstLine&&await n(e.firstLine.started,o)})(),s)}catch{}}export{v as a,p as c,_ as d,d as i,g as l,u as n,m as o,l as r,f as s,i as t,h as u};
package/dist/index.html CHANGED
@@ -102,7 +102,7 @@
102
102
  }
103
103
  }
104
104
  </style>
105
- <script type="module" crossorigin src="/assets/index-Dk0QapqQ.js"></script>
105
+ <script type="module" crossorigin src="/assets/index-zIa6h_8b.js"></script>
106
106
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-DkW27tQK.js">
107
107
  <link rel="modulepreload" crossorigin href="/assets/react-BZJXY1be.js">
108
108
  <link rel="modulepreload" crossorigin href="/assets/compiler-runtime-qQQXpJgv.js">
@@ -114,7 +114,7 @@
114
114
  <link rel="modulepreload" crossorigin href="/assets/lazyRetry-D50B1UMY.js">
115
115
  <link rel="modulepreload" crossorigin href="/assets/preloadableLazy-MIX1ApBW.js">
116
116
  <link rel="modulepreload" crossorigin href="/assets/theme-7IrMJ70_.js">
117
- <link rel="stylesheet" crossorigin href="/assets/index-DmKgC_TJ.css">
117
+ <link rel="stylesheet" crossorigin href="/assets/index-DrzNHwlO.css">
118
118
  </head>
119
119
  <body>
120
120
  <div id="boot" role="status" aria-busy="true" aria-label="Loading Mavéa">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mavea/mavea",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "type": "module",
5
5
  "description": "Mavéa — an AI Presence interface. Talk to AI. See what it means.",
6
6
  "keywords": [
@@ -1 +0,0 @@
1
- import{r as e}from"./useDashboardLoop-DDqCFJKY.js";function t(){return e(),null}export{t as DashboardLoopRuntime};
@@ -1 +0,0 @@
1
- import"./ReplayCard-Dx46HCBT.js";import"./TopicCanvas-LMI0zC7R.js";import"./CanvasSkeleton-CRGWlafo.js";