@nulib/clover 4.0.0-beta.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/dist/components/Annotations/Annotations.mjs +165 -204
- package/dist/components/Annotations/EntryBodies.mjs +28 -3
- package/dist/components/Annotations/languages.mjs +1 -17
- package/dist/components/Body/Body.mjs +16 -1
- package/dist/components/Body/BodyAlert.mjs +2 -1
- package/dist/components/Body/Caption.mjs +2 -1
- package/dist/components/Body/CaptionDetails.mjs +2 -1
- package/dist/components/Body/glyphs.mjs +24 -0
- package/dist/components/Canvas/AnnotationMenu.mjs +76 -60
- package/dist/components/Canvas/AnnotationState.mjs +9 -2
- package/dist/components/Canvas/Annotations.mjs +16 -7
- package/dist/components/Canvas/CanvasView.mjs +287 -42
- package/dist/components/Canvas/ChaptersMenu.mjs +105 -0
- package/dist/components/Canvas/ChoiceMenu.mjs +51 -31
- package/dist/components/Canvas/Connected.mjs +38 -4
- package/dist/components/Canvas/ControlMenu.mjs +29 -8
- package/dist/components/Canvas/Controls.mjs +227 -48
- package/dist/components/Canvas/ControlsFade.mjs +16 -0
- package/dist/components/Canvas/FrameAnimation.mjs +568 -167
- package/dist/components/Canvas/ImageControls.mjs +209 -0
- package/dist/components/Canvas/LoadedCanvas.mjs +5 -3
- package/dist/components/Canvas/PlaceBox.mjs +74 -0
- package/dist/components/Canvas/Placeholder.mjs +46 -13
- package/dist/components/Canvas/RowFits.mjs +85 -0
- package/dist/components/Canvas/fromManifest.mjs +2 -1
- package/dist/components/Canvas/layout.mjs +132 -32
- package/dist/components/Canvas/media/MediaBody.mjs +130 -45
- package/dist/components/Canvas/media/Player.mjs +9 -78
- package/dist/components/Canvas/media/Transport.mjs +102 -78
- package/dist/components/Canvas/media/TransportButton.mjs +2 -1
- package/dist/components/Canvas/media/placeMenu.mjs +19 -0
- package/dist/components/Canvas/media/seekGaps.mjs +43 -0
- package/dist/components/Canvas/media/sequence.mjs +96 -0
- package/dist/components/Canvas/media/useMediaElement.mjs +22 -3
- package/dist/components/Canvas/panClearOfControls.mjs +1 -1
- package/dist/components/Collection/Collection.mjs +3 -2
- package/dist/components/CollectionSelect/CollectionSelect.mjs +5 -2
- package/dist/components/Contents/Contents.mjs +163 -34
- package/dist/components/Download/Download.mjs +34 -38
- package/dist/components/Download/downloads.mjs +40 -0
- package/dist/components/Items/AnnotationItems.mjs +165 -0
- package/dist/components/Items/CountMenu.mjs +90 -0
- package/dist/components/Items/Item.mjs +27 -19
- package/dist/components/Items/Items.mjs +93 -45
- package/dist/components/Items/Pager.mjs +39 -79
- package/dist/components/Items/PagerLayout.mjs +43 -0
- package/dist/components/Items/Position.mjs +103 -0
- package/dist/components/Items/StandaloneItems.mjs +12 -4
- package/dist/components/Items/TargetItems.mjs +202 -0
- package/dist/components/Items/masonry.mjs +35 -0
- package/dist/components/Label/Label.mjs +2 -1
- package/dist/components/Map/MapView.mjs +367 -57
- package/dist/components/Panel/About.mjs +61 -15
- package/dist/components/Panel/AboutActions.mjs +117 -0
- package/dist/components/Panel/Panel.mjs +58 -18
- package/dist/components/Panel/PartOfManifest.mjs +4 -3
- package/dist/components/Panel/ReadingLanguages.mjs +20 -0
- package/dist/components/Primitives/Primitives.mjs +18 -3
- package/dist/components/Provider/Provider.mjs +19 -5
- package/dist/components/Root/Announcer.mjs +3 -2
- package/dist/components/Root/Root.mjs +5 -2
- package/dist/components/Root/useRootState.mjs +16 -51
- package/dist/components/Scene/SceneView.mjs +36 -8
- package/dist/components/Scene/cloverEngine.mjs +2 -1
- package/dist/components/Search/Search.mjs +3 -2
- package/dist/components/Split/Split.mjs +4 -1
- package/dist/components/Status/Status.mjs +10 -2
- package/dist/components/Timeline/playerSurface.mjs +4 -1
- package/dist/components/Transcript/Transcript.mjs +42 -23
- package/dist/core/annotation-bodies.mjs +25 -5
- package/dist/core/annotation-collection.mjs +3 -2
- package/dist/core/annotation-name.mjs +12 -9
- package/dist/core/annotation-sets.mjs +139 -10
- package/dist/core/annotations-content.mjs +8 -1
- package/dist/core/annotations.mjs +8 -1
- package/dist/core/choice-key.mjs +5 -0
- package/dist/core/clover.mjs +112 -24
- package/dist/core/content-state-reader.mjs +33 -2
- package/dist/core/content-state.mjs +5 -3
- package/dist/core/dates-format.mjs +30 -0
- package/dist/core/dates.mjs +19 -0
- package/dist/core/geo.mjs +46 -5
- package/dist/core/image-layers.mjs +96 -0
- package/dist/core/items.mjs +4 -2
- package/dist/core/language-choice.mjs +30 -0
- package/dist/core/link.mjs +15 -1
- package/dist/core/load.mjs +4 -2
- package/dist/core/pages.mjs +20 -1
- package/dist/core/presentation.mjs +6 -4
- package/dist/core/range-regions.mjs +70 -0
- package/dist/core/ranges.mjs +52 -18
- package/dist/core/region.mjs +7 -2
- package/dist/core/sanitize.mjs +86 -1
- package/dist/core/save-file.mjs +33 -0
- package/dist/core/selectors.mjs +12 -0
- package/dist/core/upgrade.mjs +23 -0
- package/dist/core/value.mjs +11 -23
- package/dist/hooks/useFullscreenExit.mjs +26 -0
- package/dist/hooks/useHighContrast.mjs +27 -0
- package/dist/i18n/autonym.mjs +11 -0
- package/dist/i18n/config.mjs +3 -8
- package/dist/{core → i18n}/direction.mjs +5 -1
- package/dist/i18n/languages.mjs +44 -0
- package/dist/i18n/locales/en.json.mjs +1 -1
- package/dist/i18n/locales/es.json.mjs +1 -1
- package/dist/i18n/locales/fi.json.mjs +1 -1
- package/dist/i18n/locales/fr.json.mjs +1 -1
- package/dist/i18n/locales/nb.json.mjs +1 -1
- package/dist/i18n/locales/nn.json.mjs +1 -1
- package/dist/i18n/locales/no.json.mjs +1 -1
- package/dist/i18n/locales/pt.json.mjs +1 -1
- package/dist/{ui → i18n}/useContainerName.mjs +5 -4
- package/dist/{react/language.mjs → i18n/useRootLanguage.mjs} +2 -2
- package/dist/index.d.mts +476 -78
- package/dist/index.mjs +6 -2
- package/dist/lib/fullscreen.mjs +6 -1
- package/dist/lib/gltf/load.mjs +26 -6
- package/dist/lib/renderer/CanvasRenderer.mjs +71 -36
- package/dist/lib/renderer/camera/Camera.mjs +1 -1
- package/dist/lib/renderer/math/affine.mjs +14 -0
- package/dist/lib/renderer/scene/planFrame.mjs +12 -12
- package/dist/lib/renderer/scene/regions.mjs +11 -1
- package/dist/lib/renderer/scene/sceneItem.mjs +72 -9
- package/dist/lib/time.mjs +10 -0
- package/dist/map/index.d.mts +26 -4
- package/dist/react/fetchManifest.mjs +19 -0
- package/dist/react/hooks.mjs +7 -1
- package/dist/react/readingLanguages.mjs +16 -0
- package/dist/react/useContentStateOutput.mjs +71 -0
- package/dist/react/usePagesReached.mjs +42 -0
- package/dist/styles.css +1 -1
- package/dist/templates/default/Default.mjs +122 -135
- package/dist/templates/document/Document.mjs +45 -64
- package/dist/templates/document/Sheets.mjs +13 -5
- package/dist/templates/gallery/Gallery.mjs +90 -18
- package/dist/templates/index.d.mts +318 -18
- package/dist/templates/shared/Lightbox.mjs +161 -69
- package/dist/templates/shared/LightboxView.mjs +118 -0
- package/dist/templates/shared/PanelPane.mjs +104 -0
- package/dist/templates/{document/DocumentPanel.mjs → shared/PanelPart.mjs} +2 -2
- package/dist/templates/shared/dragToClose.mjs +51 -8
- package/dist/templates/shared/givenAnnotations.mjs +13 -0
- package/dist/templates/shared/useDragToClose.mjs +6 -3
- package/dist/templates/shared/useLazyPanelPane.mjs +16 -0
- package/dist/templates/shared/useSlide.mjs +6 -0
- package/dist/templates.css +1 -1
- package/dist/ui/BodyUnloadable.mjs +34 -0
- package/dist/ui/Button.mjs +2 -1
- package/dist/ui/Chevron.mjs +34 -0
- package/dist/ui/ControlCluster.mjs +15 -14
- package/dist/ui/EntryThumbnail.mjs +60 -0
- package/dist/ui/ExitFullscreen.mjs +2 -1
- package/dist/ui/FieldPill.mjs +5 -4
- package/dist/ui/HideToggle.mjs +2 -1
- package/dist/ui/LanguageChoice.mjs +45 -0
- package/dist/ui/ListEnd.mjs +29 -0
- package/dist/ui/Markup.mjs +27 -8
- package/dist/ui/NavDate.mjs +29 -0
- package/dist/ui/ReadMore.mjs +3 -2
- package/dist/ui/Sections.mjs +22 -31
- package/dist/ui/Steps.mjs +4 -3
- package/dist/ui/Tip.mjs +9 -4
- package/dist/ui/mediaIcons.mjs +35 -8
- package/dist/ui/useScrollTrack.mjs +2 -1
- package/dist/web-components/About-DvyvVUK5.mjs +1 -0
- package/dist/web-components/AnnotationItems-BpRcSrOM.mjs +1 -0
- package/dist/web-components/AnnotationMenu-BDPec3iI.mjs +1 -0
- package/dist/web-components/AnnotationState-Chs_37Kk.mjs +1 -0
- package/dist/web-components/Annotations-6E-oD_wg.mjs +2 -0
- package/dist/web-components/Annotations-CLPEq7Ro.mjs +1 -0
- package/dist/web-components/Body-Ct61yxI7.mjs +1 -0
- package/dist/web-components/BodyAlert-C_Qh3Up_.mjs +1 -0
- package/dist/web-components/Button-L8ZMy5lY.mjs +1 -0
- package/dist/web-components/{Camera-cdCqKMup.mjs → Camera-BPyLzZjP.mjs} +1 -1
- package/dist/web-components/{Canvas2DBackend-CnLEHRs4.mjs → Canvas2DBackend-8wFavYdl.mjs} +1 -1
- package/dist/web-components/CanvasView-2Fj9nT06.mjs +2 -0
- package/dist/web-components/CaptionDetails-DuwS-grE.mjs +1 -0
- package/dist/web-components/ChaptersMenu-Bj2EqtVJ.mjs +1 -0
- package/dist/web-components/Chevron-Cyr_cc9X.mjs +1 -0
- package/dist/web-components/ChoiceMenu-ConzybVH.mjs +1 -0
- package/dist/web-components/Collection-CLayN8sv.mjs +1 -0
- package/dist/web-components/CollectionSelect-D2d8dGJ4.mjs +1 -0
- package/dist/web-components/Connected-CBQ6xyhr.mjs +1 -0
- package/dist/web-components/Connected-DMXG3imZ.mjs +1 -0
- package/dist/web-components/Connected-pyd0EBD3.mjs +1 -0
- package/dist/web-components/Contents-tCMXBYDK.mjs +1 -0
- package/dist/web-components/ControlMenu-D1zkB0qX.mjs +1 -0
- package/dist/web-components/ControlsFade-BNXVTL_Q.mjs +1 -0
- package/dist/web-components/CountMenu-Dnzb7lKo.mjs +1 -0
- package/dist/web-components/Cue-CUGmPS3k.mjs +1 -0
- package/dist/web-components/Document-D-8nalCX.mjs +1 -0
- package/dist/web-components/{DomLayers-BD4QPbl6.mjs → DomLayers-BxPU05-D.mjs} +1 -1
- package/dist/web-components/Download-Bku9Vptk.mjs +1 -0
- package/dist/web-components/EntryBodies-77vDudCb.mjs +1 -0
- package/dist/web-components/EntryThumbnail-BxQWKW6e.mjs +1 -0
- package/dist/web-components/FieldPill-nFGsaru9.mjs +1 -0
- package/dist/web-components/FrameAnimation-BvKiSXcm.mjs +1 -0
- package/dist/web-components/Gallery-4Hd58afA.mjs +1 -0
- package/dist/web-components/HideToggle-TEhY4TS4.mjs +1 -0
- package/dist/web-components/ImageControls-CZO7WoPb.mjs +1 -0
- package/dist/web-components/Items-CudZ4Lnb.mjs +1 -0
- package/dist/web-components/Label-f07N5Fld.mjs +1 -0
- package/dist/web-components/LanguageChoice-B5VM21DV.mjs +1 -0
- package/dist/web-components/LightboxView-C4OASmkg.mjs +1 -0
- package/dist/web-components/ListEnd-M39M62Cl.mjs +1 -0
- package/dist/web-components/{Loaded-D5xmFRSo.mjs → Loaded-oGFyBuos.mjs} +1 -1
- package/dist/web-components/LoadedCanvas-IvpSzPO6.mjs +1 -0
- package/dist/web-components/LoadedMap-WATGNLxl.mjs +1 -0
- package/dist/web-components/{Loading-CBKfwsML.mjs → Loading-YxuKrDAM.mjs} +1 -1
- package/dist/web-components/{Map-Bcgp_R8H.mjs → Map-Cw9j3gi3.mjs} +1 -1
- package/dist/web-components/MapView-3OxoCr5l.mjs +3 -0
- package/dist/web-components/Markup-DW75Jx3j.mjs +2 -0
- package/dist/web-components/MediaBody-CLtd0bf0.mjs +1 -0
- package/dist/web-components/MediaBody-JnKnoIqY.mjs +1 -0
- package/dist/web-components/NavDate-BCCOyycx.mjs +1 -0
- package/dist/web-components/{Navigator-BSJbEbuJ.mjs → Navigator-Bx4zS0Yr.mjs} +1 -1
- package/dist/web-components/Pager-B9GvQ64b.mjs +1 -0
- package/dist/web-components/PagerLayout-BF33VZL_.mjs +1 -0
- package/dist/web-components/Panel-BvDpCn6K.mjs +1 -0
- package/dist/web-components/PanelPart-Bd4lSUrP.mjs +1 -0
- package/dist/web-components/{PanelToggle-mUDw73zI.mjs → PanelToggle-bPcIULGZ.mjs} +1 -1
- package/dist/web-components/PartOfManifest-HLg-r00O.mjs +1 -0
- package/dist/web-components/{Pending-BPOQ2z1L.mjs → Pending-BxGjjnqq.mjs} +1 -1
- package/dist/web-components/PlaceBox-D-Zhe9-U.mjs +1 -0
- package/dist/web-components/Placeholder-DzY5hcbk.mjs +1 -0
- package/dist/web-components/Position-TYnzcm8e.mjs +1 -0
- package/dist/web-components/Primitives-C6VJXxZD.mjs +1 -0
- package/dist/web-components/Provider-DyB0wpeO.mjs +1 -0
- package/dist/web-components/ReadMore-De_0T7lc.mjs +1 -0
- package/dist/web-components/Root-Bt3NNBFb.mjs +1 -0
- package/dist/web-components/Scene-DrOM9YlD.mjs +1 -0
- package/dist/web-components/SceneView-DA7Yg20p.mjs +1 -0
- package/dist/web-components/Search-DgT8OPsK.mjs +1 -0
- package/dist/web-components/Sections-d1acn7qm.mjs +2 -0
- package/dist/web-components/StandaloneItems-DUb4YKCB.mjs +1 -0
- package/dist/web-components/Status-CcU3u6P4.mjs +1 -0
- package/dist/web-components/Steps-nlSCzbDQ.mjs +1 -0
- package/dist/web-components/TargetItems-BDJM3Ar-.mjs +1 -0
- package/dist/web-components/Timeline-BfdN3lIv.mjs +1 -0
- package/dist/web-components/Tip-OCB88zwY.mjs +1 -0
- package/dist/web-components/Transcript-bSA3cx_K.mjs +1 -0
- package/dist/web-components/Transport-DaIhfZqC.mjs +1 -0
- package/dist/web-components/Transport-DjOYI-fR.mjs +1 -0
- package/dist/web-components/annotation-collection-D8emkElk.mjs +1 -0
- package/dist/web-components/annotation-name-DbWjhgra.mjs +1 -0
- package/dist/web-components/annotations-content-Bg6aVAGC.mjs +1 -0
- package/dist/web-components/body-Ct8dmQdW.mjs +1 -0
- package/dist/web-components/canvas-goEZLqEd.mjs +1 -0
- package/dist/web-components/choice-key-BUNebLKe.mjs +1 -0
- package/dist/web-components/cloverEngine-Df7cMwOP.mjs +164 -0
- package/dist/web-components/content-state-reader-CNmBpG1L.mjs +1 -0
- package/dist/web-components/{controls-Dj2BybWb.mjs → controls-BZr16sYQ.mjs} +1 -1
- package/dist/web-components/custom-elements.json +260 -48
- package/dist/web-components/dates-DR3gfcON.mjs +1 -0
- package/dist/web-components/downloads-EjJ6Hpip.mjs +1 -0
- package/dist/web-components/dragToClose-X9NbZOhA.mjs +1 -0
- package/dist/web-components/{engine-BSt8LTso.mjs → engine-DMoc0tff.mjs} +1 -1
- package/dist/web-components/{engines-CC0OEsVE.mjs → engines-BmB81VXR.mjs} +1 -1
- package/dist/web-components/es-B1NvdYp-.mjs +1 -0
- package/dist/web-components/fetchManifest-CwQC6cCh.mjs +1 -0
- package/dist/web-components/fi-BjtYZNLo.mjs +1 -0
- package/dist/web-components/fr-Cd22Lziw.mjs +1 -0
- package/dist/web-components/fromManifest-DrAmY1lB.mjs +1 -0
- package/dist/web-components/glyphs-BFK_hvJJ.mjs +1 -0
- package/dist/web-components/hooks-BhtNDs_1.mjs +1 -0
- package/dist/web-components/image-layers-D2nQC4R-.mjs +1 -0
- package/dist/web-components/{imageService-dsdmcegU.mjs → imageService-iFElsopt.mjs} +1 -1
- package/dist/web-components/index-FJEpXukG.mjs +1 -0
- package/dist/web-components/index.d.mts +99 -14
- package/dist/web-components/index.mjs +1 -1
- package/dist/web-components/items-BPPrqbeh.mjs +1 -0
- package/dist/web-components/items-BnEnc5ot.mjs +1 -0
- package/dist/web-components/label-DauFa5sg.mjs +1 -0
- package/dist/web-components/layout-Djwu8f4R.mjs +1 -0
- package/dist/web-components/link-0lUlTZlw.mjs +1 -0
- package/dist/web-components/logo-DWPxaZaG.mjs +1 -0
- package/dist/web-components/masonry-0QfzOgbB.mjs +1 -0
- package/dist/web-components/models-BF2pqufA.mjs +1 -0
- package/dist/web-components/nb-CEwZDBiR.mjs +1 -0
- package/dist/web-components/nn-jYQhr9RI.mjs +1 -0
- package/dist/web-components/no-CEwZDBiR.mjs +1 -0
- package/dist/web-components/{nodes-B7JRwBgl.mjs → nodes-ChQRLDGU.mjs} +1 -1
- package/dist/web-components/{overlayImage-0OgQl1TL.mjs → overlayImage-MKrcgDep.mjs} +1 -1
- package/dist/web-components/panClearOfControls-Cn2ZXsZi.mjs +1 -0
- package/dist/web-components/{panel-CjXfre-g.mjs → panel-C13V6w6E.mjs} +1 -1
- package/dist/web-components/part-CekFWrtz.mjs +1 -0
- package/dist/web-components/playerSurface-DG1XipTq.mjs +1 -0
- package/dist/web-components/pointer-YQppt0at.mjs +1 -0
- package/dist/web-components/presentation-2-C-U79S_T.mjs +1 -0
- package/dist/web-components/{provider-C1wKfdjb.mjs → provider-DiUkZYiW.mjs} +1 -1
- package/dist/web-components/pt-CWR30SzS.mjs +1 -0
- package/dist/web-components/range-regions-CqGjyM76.mjs +1 -0
- package/dist/web-components/read-more-D8RJYdtQ.mjs +1 -0
- package/dist/web-components/readingLanguages-BWOLZK2k.mjs +1 -0
- package/dist/web-components/rendererSurface-BkbGDL_Z.mjs +22 -0
- package/dist/web-components/{renderers-BMSWEFUR.mjs → renderers-LtRX5pT0.mjs} +1 -1
- package/dist/web-components/{resource-DLHocQ1C.mjs → resource-Cfydiy4m.mjs} +1 -1
- package/dist/web-components/sanitize-qIOeyIww.mjs +3 -0
- package/dist/web-components/save-file-dZyOpXgY.mjs +1 -0
- package/dist/web-components/search-BfUZJM3a.mjs +1 -0
- package/dist/web-components/sequence-C28xoNmD.mjs +1 -0
- package/dist/web-components/shared-DkY2a89G.mjs +1 -0
- package/dist/web-components/{show-link-CyzYE1eS.mjs → show-link-DgLJzG7k.mjs} +1 -1
- package/dist/web-components/{sizedImage-uv_NlE0l.mjs → sizedImage-NHzhcBYk.mjs} +1 -1
- package/dist/web-components/{split-CYuMjp89.mjs → split-CuFiKjin.mjs} +1 -1
- package/dist/web-components/{status-Ms5L0ghK.mjs → status-C3etlkhY.mjs} +1 -1
- package/dist/web-components/styles-DkkVOSUQ.mjs +1 -0
- package/dist/web-components/three.mjs +1 -1
- package/dist/web-components/thumbnail-DecrVnpj.mjs +1 -0
- package/dist/web-components/{tip-dWhupWSr.mjs → tip-D5YgaIWW.mjs} +1 -1
- package/dist/web-components/{toggle-BQTjR1I3.mjs → toggle-CZGB65VZ.mjs} +1 -1
- package/dist/web-components/upgrade-eNW0DPXq.mjs +1 -0
- package/dist/web-components/upgrader-BlbMUEH6.mjs +1 -0
- package/dist/web-components/useContainerName-hKQjEt7a.mjs +1 -0
- package/dist/web-components/useControlsVisibility-DPg8uAkW.mjs +1 -0
- package/dist/web-components/useLazyPanelPane-eby-OI1V.mjs +1 -0
- package/dist/web-components/useNearViewport-CDbHQUBk.mjs +1 -0
- package/dist/web-components/useScrollTrack-D9l_P3_B.mjs +1 -0
- package/dist/web-components/viewer/AnnotationItems-DtsnDXPM.mjs +1 -0
- package/dist/web-components/viewer/AnnotationMenu-C-Mz6CCn.mjs +1 -0
- package/dist/web-components/viewer/AnnotationState-5pim5K72.mjs +1 -0
- package/dist/web-components/viewer/Annotations-Cqn1TkzD.mjs +2 -0
- package/dist/web-components/viewer/Annotations-CxwN9FkB.mjs +1 -0
- package/dist/web-components/viewer/{Canvas2DBackend-CAmzJD5P.mjs → Canvas2DBackend-C-ZMSCak.mjs} +1 -1
- package/dist/web-components/viewer/CaptionDetails-CRD-gSZP.mjs +1 -0
- package/dist/web-components/viewer/ChaptersMenu-Brcq3yJv.mjs +1 -0
- package/dist/web-components/viewer/ChoiceMenu-ByGzQQx1.mjs +1 -0
- package/dist/web-components/viewer/Collection-m0GCcsfQ.mjs +1 -0
- package/dist/web-components/viewer/Connected-Bmc_CdUD.mjs +1 -0
- package/dist/web-components/viewer/Connected-Dvx7wtot.mjs +1 -0
- package/dist/web-components/viewer/Contents-CwDpfiJY.mjs +1 -0
- package/dist/web-components/viewer/ControlMenu-TcO85hDf.mjs +1 -0
- package/dist/web-components/viewer/ControlsFade-BoZ4ABAE.mjs +1 -0
- package/dist/web-components/viewer/CountMenu-0-ie8kIZ.mjs +1 -0
- package/dist/web-components/viewer/Cue-DxmAS9Gx.mjs +1 -0
- package/dist/web-components/viewer/Document-BsryuYJ1.mjs +1 -0
- package/dist/web-components/viewer/{DomLayers-DRdQSEtN.mjs → DomLayers-hc0qARQc.mjs} +1 -1
- package/dist/web-components/viewer/Download-MO-1Rik4.mjs +1 -0
- package/dist/web-components/viewer/EntryBodies-g-OEwEsk.mjs +1 -0
- package/dist/web-components/viewer/EntryThumbnail-DcIDYATi.mjs +1 -0
- package/dist/web-components/viewer/FieldPill-B9S21lxw.mjs +1 -0
- package/dist/web-components/viewer/FrameAnimation-qI9cZPEs.mjs +1 -0
- package/dist/web-components/viewer/Gallery-BOgUqfqw.mjs +1 -0
- package/dist/web-components/viewer/HideToggle-D8wH49mq.mjs +1 -0
- package/dist/web-components/viewer/ImageControls-ZoEC9jWd.mjs +1 -0
- package/dist/web-components/viewer/LanguageChoice-CRqsCBAp.mjs +1 -0
- package/dist/web-components/viewer/LightboxView-BB-GcbYr.mjs +1 -0
- package/dist/web-components/viewer/ListEnd-D9Obxie4.mjs +1 -0
- package/dist/web-components/viewer/MapView-DQSwUzd7.mjs +3 -0
- package/dist/web-components/viewer/MediaBody-CIw2nTlj.mjs +1 -0
- package/dist/web-components/viewer/MediaBody-D5ff6xy-.mjs +1 -0
- package/dist/web-components/viewer/NavDate-BnfDG57h.mjs +1 -0
- package/dist/web-components/viewer/{Navigator-CKwDgG2x.mjs → Navigator-BNwjmkXY.mjs} +1 -1
- package/dist/web-components/viewer/PagerLayout-C8jraHqs.mjs +1 -0
- package/dist/web-components/viewer/PanelPart-YNbBI9SQ.mjs +1 -0
- package/dist/web-components/viewer/PartOfManifest-DX7H0V4g.mjs +1 -0
- package/dist/web-components/viewer/PlaceBox-CCWfzsNU.mjs +1 -0
- package/dist/web-components/viewer/Placeholder-CsEkLhz7.mjs +1 -0
- package/dist/web-components/viewer/Search-CsdYzdq1.mjs +1 -0
- package/dist/web-components/viewer/StandaloneItems-BfvBxbUm.mjs +1 -0
- package/dist/web-components/viewer/Steps-BH8ZApS4.mjs +1 -0
- package/dist/web-components/viewer/TargetItems-BebPFr-c.mjs +1 -0
- package/dist/web-components/viewer/Transcript-DXLv5WR9.mjs +1 -0
- package/dist/web-components/viewer/Transport-C-fh7Kx2.mjs +1 -0
- package/dist/web-components/viewer/Transport-CY6BWfMi.mjs +1 -0
- package/dist/web-components/viewer/annotation-collection-Cjd8Dgyl.mjs +1 -0
- package/dist/web-components/viewer/annotation-name-CwmgQFia.mjs +1 -0
- package/dist/web-components/viewer/annotations-content-BARXoAz-.mjs +1 -0
- package/dist/web-components/viewer/cloverEngine-CumnJPKO.mjs +164 -0
- package/dist/web-components/viewer/content-state-reader-DuvyLThu.mjs +1 -0
- package/dist/web-components/viewer/dragToClose-CFCxhUxn.mjs +1 -0
- package/dist/web-components/viewer/fetchManifest-qNB_KgxL.mjs +1 -0
- package/dist/web-components/viewer/{host-DlCltI_c.mjs → host-GTHX2fPK.mjs} +1 -1
- package/dist/web-components/viewer/image-layers-DKOuaRTj.mjs +1 -0
- package/dist/web-components/viewer/index.mjs +1 -1
- package/dist/web-components/viewer/link-BlaM0tCa.mjs +1 -0
- package/dist/web-components/viewer/overlayImage-RVpv69R5.mjs +1 -0
- package/dist/web-components/viewer/range-regions-CIZiAHOp.mjs +1 -0
- package/dist/web-components/viewer/{renderers-C_wdmw9v.mjs → renderers-Dw1klwlx.mjs} +1 -1
- package/dist/web-components/viewer/save-file-EvzaBEJN.mjs +1 -0
- package/dist/web-components/viewer/{search-BHLyNxZ6.mjs → search-x1QL_bth.mjs} +1 -1
- package/dist/web-components/viewer/styles-I7_LWFGj.mjs +1 -0
- package/dist/web-components/viewer/useControlsVisibility-C_SQHIVR.mjs +1 -0
- package/dist/web-components/viewer/useLazyPanelPane-UuGDJrf_.mjs +1 -0
- package/dist/web-components/viewer/viewer-DJrQuNs1.mjs +29 -0
- package/dist/web-components/viewer/{vtt-XiS_-5Ao.mjs → vtt-C2G89SWH.mjs} +1 -1
- package/dist/web-components/viewer-Br44EEba.mjs +1 -0
- package/dist/web-components/{vtt-DYAOuQoK.mjs → vtt-Dd0c7psH.mjs} +1 -1
- package/package.json +8 -4
- package/dist/i18n/reader.mjs +0 -13
- package/dist/templates/shared/LightboxBody.mjs +0 -9
- package/dist/web-components/About-DbrFSVBm.mjs +0 -1
- package/dist/web-components/AnnotationMenu-EBjIQpQl.mjs +0 -1
- package/dist/web-components/AnnotationState-DQTaO6Gz.mjs +0 -1
- package/dist/web-components/Annotations-Cb9U7HJ_.mjs +0 -2
- package/dist/web-components/Annotations-Dl0SgHBS.mjs +0 -1
- package/dist/web-components/Body-DxSz3iST.mjs +0 -1
- package/dist/web-components/BodyAlert-C8EOXz24.mjs +0 -1
- package/dist/web-components/Button-uWgfvqsL.mjs +0 -1
- package/dist/web-components/CanvasView-BI3YzNdK.mjs +0 -1
- package/dist/web-components/CaptionDetails-B80ZhZ7v.mjs +0 -1
- package/dist/web-components/ChoiceMenu-DCp7-co7.mjs +0 -1
- package/dist/web-components/Collection-B1Le2_TU.mjs +0 -1
- package/dist/web-components/CollectionSelect-BL_jQog-.mjs +0 -1
- package/dist/web-components/Connected-BxqaRL9o.mjs +0 -1
- package/dist/web-components/Connected-DCBI-j9H.mjs +0 -1
- package/dist/web-components/Connected-DkhfVWxd.mjs +0 -1
- package/dist/web-components/Contents-zYEGHLfe.mjs +0 -1
- package/dist/web-components/ControlMenu-CAHiLAtl.mjs +0 -1
- package/dist/web-components/Cue-BT2V9VAq.mjs +0 -1
- package/dist/web-components/Document-BdCjGnJN.mjs +0 -1
- package/dist/web-components/DocumentPanel-X_Rta0Wu.mjs +0 -1
- package/dist/web-components/Download-DqU-goFi.mjs +0 -1
- package/dist/web-components/EntryBodies-DXAQH0vR.mjs +0 -1
- package/dist/web-components/ErrorBoundary-chQaO-Up.mjs +0 -1
- package/dist/web-components/FieldPill-CyEssPVm.mjs +0 -1
- package/dist/web-components/FrameAnimation-Bb0pOoRl.mjs +0 -1
- package/dist/web-components/Gallery-BXU3TcT3.mjs +0 -1
- package/dist/web-components/HideToggle-BwMrOBMu.mjs +0 -1
- package/dist/web-components/Items-DRj1UEpC.mjs +0 -1
- package/dist/web-components/Label-D6aVJB9s.mjs +0 -1
- package/dist/web-components/LightboxBody-BzXQGMDn.mjs +0 -1
- package/dist/web-components/LoadedCanvas-DOjtxLSe.mjs +0 -1
- package/dist/web-components/LoadedMap-DouDS2lO.mjs +0 -1
- package/dist/web-components/MapView-CD5zkTs8.mjs +0 -1
- package/dist/web-components/Markup-C1hMA8wk.mjs +0 -2
- package/dist/web-components/MediaBody-B_Gii4we.mjs +0 -1
- package/dist/web-components/MediaBody-BfrKIPte.mjs +0 -1
- package/dist/web-components/Pager-Di_2hHM3.mjs +0 -1
- package/dist/web-components/Panel-DbsC8A9V.mjs +0 -1
- package/dist/web-components/PartOfManifest-7eOwURrF.mjs +0 -1
- package/dist/web-components/Primitives-XQO3m1wG.mjs +0 -1
- package/dist/web-components/Provider-B61118lU.mjs +0 -1
- package/dist/web-components/ReadMore-BJH-qqte.mjs +0 -1
- package/dist/web-components/Root-Dj277K6p.mjs +0 -1
- package/dist/web-components/Scene-BTWpLeec.mjs +0 -1
- package/dist/web-components/SceneView-BYo7WmPt.mjs +0 -1
- package/dist/web-components/Search-ZV8FFN4p.mjs +0 -1
- package/dist/web-components/Sections-ejwu1_Sm.mjs +0 -2
- package/dist/web-components/StandaloneItems-BYaiyCca.mjs +0 -1
- package/dist/web-components/Status-YbQK2KzY.mjs +0 -1
- package/dist/web-components/Timeline-ByyVSd7B.mjs +0 -1
- package/dist/web-components/Tip-IO11xX4x.mjs +0 -1
- package/dist/web-components/Transcript-D0gUxUoA.mjs +0 -1
- package/dist/web-components/annotation-collection-Csv7WIlm.mjs +0 -1
- package/dist/web-components/annotations-content-BS_OFz5Z.mjs +0 -1
- package/dist/web-components/body-CKjwwFep.mjs +0 -1
- package/dist/web-components/canvas-CIzpp-Uz.mjs +0 -1
- package/dist/web-components/cloverEngine-B4LinbSt.mjs +0 -164
- package/dist/web-components/content-state-reader-D1BkpICh.mjs +0 -1
- package/dist/web-components/dragToClose-C-Pf1IeO.mjs +0 -1
- package/dist/web-components/es-BwMkoRod.mjs +0 -1
- package/dist/web-components/fi-gPFOn9RK.mjs +0 -1
- package/dist/web-components/fr-DUHmgdJo.mjs +0 -1
- package/dist/web-components/fromManifest-BhemHaoA.mjs +0 -1
- package/dist/web-components/glyphs-drROkef9.mjs +0 -1
- package/dist/web-components/hooks-BXzQSllm.mjs +0 -1
- package/dist/web-components/index-B7nZdqLg.mjs +0 -1
- package/dist/web-components/items-CB2Uk7ts.mjs +0 -1
- package/dist/web-components/items-jfQ5XzEj.mjs +0 -1
- package/dist/web-components/keep-fragments-B5nlv2ck.mjs +0 -1
- package/dist/web-components/label-Vbg_cMOJ.mjs +0 -1
- package/dist/web-components/layout-mMHI0lsj.mjs +0 -1
- package/dist/web-components/link-ZRnv5NFR.mjs +0 -1
- package/dist/web-components/logo-Boy6u4m2.mjs +0 -1
- package/dist/web-components/models-D1EE_CmH.mjs +0 -1
- package/dist/web-components/nb-BSvnQ6jd.mjs +0 -1
- package/dist/web-components/nn-Dg2_HdZu.mjs +0 -1
- package/dist/web-components/no-BSvnQ6jd.mjs +0 -1
- package/dist/web-components/panClearOfControls-ac9uf-Qs.mjs +0 -1
- package/dist/web-components/part-cUiPs2-y.mjs +0 -1
- package/dist/web-components/playerSurface-CU5XxI1j.mjs +0 -1
- package/dist/web-components/pt-B3J80JgO.mjs +0 -1
- package/dist/web-components/read-more-DNHNtG-a.mjs +0 -1
- package/dist/web-components/rendererSurface-DhIlOjGT.mjs +0 -22
- package/dist/web-components/sanitize-Dc7nOsgO.mjs +0 -3
- package/dist/web-components/search-CLy2Wj01.mjs +0 -1
- package/dist/web-components/shared-YUjOSBKO.mjs +0 -1
- package/dist/web-components/styles-CyuM_fB1.mjs +0 -1
- package/dist/web-components/thumbnail-c2K_iQsD.mjs +0 -1
- package/dist/web-components/time-B9GZoYcm.mjs +0 -1
- package/dist/web-components/upgrader-XNxI-5jo.mjs +0 -1
- package/dist/web-components/useContainerName-BpJ3IWY0.mjs +0 -1
- package/dist/web-components/useNearViewport-CtLyYg9n.mjs +0 -1
- package/dist/web-components/useScrollTrack-WbG28FPD.mjs +0 -1
- package/dist/web-components/viewer/AnnotationMenu-ZKyBeyUU.mjs +0 -1
- package/dist/web-components/viewer/AnnotationState-DO33zokc.mjs +0 -1
- package/dist/web-components/viewer/Annotations-BOjhr5ks.mjs +0 -1
- package/dist/web-components/viewer/Annotations-DkLueFLK.mjs +0 -2
- package/dist/web-components/viewer/CaptionDetails-DOJlUtOn.mjs +0 -1
- package/dist/web-components/viewer/ChoiceMenu-BDq6H34G.mjs +0 -1
- package/dist/web-components/viewer/Collection-By3puO0V.mjs +0 -1
- package/dist/web-components/viewer/Connected-DZNO2CPf.mjs +0 -1
- package/dist/web-components/viewer/Connected-ESg5y49m.mjs +0 -1
- package/dist/web-components/viewer/Contents-B_FqDwTW.mjs +0 -1
- package/dist/web-components/viewer/ControlMenu-DdQl-dTf.mjs +0 -1
- package/dist/web-components/viewer/Cue-BTRHfiWQ.mjs +0 -1
- package/dist/web-components/viewer/Document-B9_PyD2w.mjs +0 -1
- package/dist/web-components/viewer/DocumentPanel-CtEJVPoE.mjs +0 -1
- package/dist/web-components/viewer/EntryBodies-CJuTRcTq.mjs +0 -1
- package/dist/web-components/viewer/FieldPill-06uwrNwE.mjs +0 -1
- package/dist/web-components/viewer/FrameAnimation-3dcDHf5q.mjs +0 -1
- package/dist/web-components/viewer/Gallery-BYasTqZc.mjs +0 -1
- package/dist/web-components/viewer/HideToggle-BxkNMX-T.mjs +0 -1
- package/dist/web-components/viewer/LightboxBody-CXMc1xOH.mjs +0 -1
- package/dist/web-components/viewer/MapView-DCerrRRV.mjs +0 -1
- package/dist/web-components/viewer/MediaBody-BdkJcyGy.mjs +0 -1
- package/dist/web-components/viewer/MediaBody-waF4KvHp.mjs +0 -1
- package/dist/web-components/viewer/PartOfManifest-DalHJFwC.mjs +0 -1
- package/dist/web-components/viewer/Search-Di_QQfDb.mjs +0 -1
- package/dist/web-components/viewer/StandaloneItems-B9J6nnWn.mjs +0 -1
- package/dist/web-components/viewer/Transcript-aHOixfna.mjs +0 -1
- package/dist/web-components/viewer/annotation-collection-I2UkdobR.mjs +0 -1
- package/dist/web-components/viewer/annotations-content-D-i4j9pD.mjs +0 -1
- package/dist/web-components/viewer/cloverEngine-CynoKdta.mjs +0 -164
- package/dist/web-components/viewer/content-state-reader-D7GIMcKK.mjs +0 -1
- package/dist/web-components/viewer/link-BX-wzj1u.mjs +0 -1
- package/dist/web-components/viewer/overlayImage-CHqn1fG8.mjs +0 -1
- package/dist/web-components/viewer/styles-BRCkEU3w.mjs +0 -1
- package/dist/web-components/viewer/viewer-ipqAA-xQ.mjs +0 -28
- package/dist/web-components/viewer-DEHIsIHd.mjs +0 -1
- /package/dist/{ui → i18n}/languageCode.mjs +0 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import{c as ne,F as ae,i as se,M as ie}from"./Connected-Bmc_CdUD.mjs";import{aH as ce,bJ as ue}from"./viewer-DJrQuNs1.mjs";const le=["KHR_materials_unlit","KHR_materials_ior","KHR_materials_specular","KHR_mesh_quantization"],Z=1179937895,fe=1313821514,de=5130562;function me(e){const s=new DataView(e);if(s.getUint32(0,true)!==Z)throw new Error("This is not a GLB.");if(s.getUint32(4,true)!==2)throw new Error("Only glTF 2.0 is drawn.");let o,t;const n=Math.min(s.getUint32(8,true),e.byteLength);for(let a=12;a+8<=n;){const i=s.getUint32(a,true),l=s.getUint32(a+4,true),c=a+8;l===fe?o=JSON.parse(new TextDecoder().decode(new Uint8Array(e,c,i))):l===de&&(t=e.slice(c,c+i)),a=c+i}if(!o)throw new Error("The GLB has no JSON chunk.");return{json:o,bin:t}}async function z(e,s,o){const t=new URL(e,s).href,n=t.startsWith("data:")?await fetch(t):await ue(o,t);if(!n.ok)throw new Error(`${t} answered ${n.status}`);return n.arrayBuffer()}const $=new WeakMap;function ve(e,s,o){const t=(s==null?void 0:s.fetch)??globalThis.fetch,n=$.get(t)??new Map;$.set(t,n);const a=`${ce(s)} ${o??""} ${e}`;let i=n.get(a);return i||(i=he(e,s,o).finally(()=>n.delete(a)),n.set(a,i)),i}async function he(e,s,o){const t=await z(e,location.href,s),n=new DataView(t).getUint32(0,true)===Z,{json:a,bin:i}=n?me(t):{json:JSON.parse(new TextDecoder().decode(t))},l=(a.extensionsRequired??[]).filter(f=>!le.includes(f));if(l.length)throw new Error(`Clover's renderer cannot draw this model: it requires ${l.join(", ")}.`);const c=await Promise.all((a.buffers??[]).map((f,r)=>{if(f.uri!==void 0)return z(f.uri,e,s);if(r===0&&i)return i;throw new Error("A buffer of the model has no data.")})),u=await Promise.all((a.images??[]).map(async f=>{try{let r;if(f.bufferView!==void 0){const d=a.bufferViews[f.bufferView];r=new Blob([new Uint8Array(c[d.buffer],d.byteOffset??0,d.byteLength)],{type:f.mimeType})}else if(f.uri!==void 0)r=new Blob([await z(f.uri,e,s)],{type:f.mimeType});else return null;const m={premultiplyAlpha:"none",colorSpaceConversion:"none"};return await pe(await createImageBitmap(r,m),o,m)}catch{return null}}));return{json:a,buffers:c,images:u}}async function pe(e,s,o){const t=Math.max(e.width,e.height);if(!s||t<=s)return e;const n=s/t,a=await createImageBitmap(e,{...o,resizeWidth:Math.max(1,Math.floor(e.width*n)),resizeHeight:Math.max(1,Math.floor(e.height*n)),resizeQuality:"high"});return e.close(),a}const we={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ee={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},q=e=>we[e];function Te(e,s){const o=e.json.accessors[s],t=q(o.type),n=new Float32Array(o.count*t);if(o.bufferView===void 0)return n;const a=e.json.bufferViews[o.bufferView],i=Ee[o.componentType],l=a.byteStride||i*t,c=new DataView(e.buffers[a.buffer],(a.byteOffset??0)+(o.byteOffset??0)),u={5120:r=>c.getInt8(r),5121:r=>c.getUint8(r),5122:r=>c.getInt16(r,true),5123:r=>c.getUint16(r,true),5125:r=>c.getUint32(r,true),5126:r=>c.getFloat32(r,true)}[o.componentType]??(()=>0),f=o.normalized?{5120:127,5121:255,5122:32767,5123:65535}[o.componentType]:void 0;for(let r=0;r<o.count;r++)for(let m=0;m<t;m++){const d=u(r*l+m*i);n[r*t+m]=f?Math.max(d/f,-1):d}return n}const ee=()=>new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function I(e,s){const o=new Float32Array(16);for(let t=0;t<4;t++)for(let n=0;n<4;n++){let a=0;for(let i=0;i<4;i++)a+=e[i*4+n]*s[t*4+i];o[t*4+n]=a}return o}function X([e,s,o],[t,n,a,i],[l,c,u]){const f=t+t,r=n+n,m=a+a,d=t*f,M=t*r,p=t*m,w=n*r,S=n*m,y=a*m,k=i*f,L=i*r,O=i*m;return new Float32Array([(1-(w+y))*l,(M+O)*l,(p-L)*l,0,(M-O)*c,(1-(d+y))*c,(S+k)*c,0,(p+L)*u,(S-k)*u,(1-(d+w))*u,0,e,s,o,1])}const K=e=>X(e,[0,0,0,1],[1,1,1]),xe=e=>X([0,0,0],[0,0,0,1],e);function be([e,s,o]){const t=(n,a)=>{const i=a*Math.PI/180,l=Math.cos(i),c=Math.sin(i),u=ee(),[f,r]=n===0?[1,2]:n===1?[2,0]:[0,1];return u[f*4+f]=l,u[f*4+r]=c,u[r*4+f]=-c,u[r*4+r]=l,u};return I(t(2,o),I(t(1,s),t(0,e)))}function ye(e,s,o,t){const n=1/Math.tan(e/2),a=1/(o-t);return new Float32Array([n/s,0,0,0,0,n,0,0,0,0,(t+o)*a,-1,0,0,2*t*o*a,0])}function Ae(e,s){const o=c=>{const u=Math.hypot(...c)||1;return[c[0]/u,c[1]/u,c[2]/u]},t=(c,u)=>[c[1]*u[2]-c[2]*u[1],c[2]*u[0]-c[0]*u[2],c[0]*u[1]-c[1]*u[0]],n=(c,u)=>c[0]*u[0]+c[1]*u[1]+c[2]*u[2],a=o([e[0]-s[0],e[1]-s[1],e[2]-s[2]]),i=o(t([0,1,0],a)),l=t(a,i);return new Float32Array([i[0],l[0],a[0],0,i[1],l[1],a[1],0,i[2],l[2],a[2],0,-n(i,e),-n(l,e),-n(a,e),1])}function Re(e){const[s,o,t,,n,a,i,,l,c,u]=e,f=a*u-i*c,r=i*l-n*u,m=n*c-a*l,d=s*f+o*r+t*m||1;return new Float32Array([f/d,r/d,m/d,(t*c-o*u)/d,(s*u-t*l)/d,(o*l-s*c)/d,(o*i-t*a)/d,(t*n-s*i)/d,(s*a-o*n)/d])}const Me=()=>({min:[1/0,1/0,1/0],max:[-1/0,-1/0,-1/0]});function _e(e){for(let s=0;s<3;s++){let o=0;for(let t=0;t<3;t++)Math.abs(e[s*4+t])>1e-6&&o++;if(o>1)return false}return true}function Ne(e,s,o,t){const n=s.json.accessors[o];let a;if(_e(t)&&n.min&&n.max&&!n.normalized){const[l,c]=[n.min,n.max];a=Array.from({length:8},(u,f)=>[f&1?c[0]:l[0],f&2?c[1]:l[1],f&4?c[2]:l[2]]).flat()}else a=Te(s,o);const i=t;for(let l=0;l+2<a.length;l+=3){const c=a[l],u=a[l+1],f=a[l+2];for(let r=0;r<3;r++){const m=i[r]*c+i[4+r]*u+i[8+r]*f+i[12+r];m<e.min[r]&&(e.min[r]=m),m>e.max[r]&&(e.max[r]=m)}}return e}const C={normals:1,normalMap:2,unlit:4,mask:8},Y={POSITION:0,NORMAL:1,TEXCOORD_0:2,COLOR_0:3},J=["uBaseTexture","uMetalRoughTexture","uNormalTexture","uOcclusionTexture","uEmissiveTexture"],Se=`#version 300 es
|
|
2
|
+
layout(location = 0) in vec3 aPosition;
|
|
3
|
+
layout(location = 1) in vec3 aNormal;
|
|
4
|
+
layout(location = 2) in vec2 aUv;
|
|
5
|
+
layout(location = 3) in vec4 aColor;
|
|
6
|
+
uniform mat4 uModel;
|
|
7
|
+
uniform mat4 uViewProjection;
|
|
8
|
+
uniform mat3 uNormalMatrix;
|
|
9
|
+
out vec3 vWorld;
|
|
10
|
+
out vec3 vNormal;
|
|
11
|
+
out vec2 vUv;
|
|
12
|
+
out vec4 vColor;
|
|
13
|
+
void main() {
|
|
14
|
+
vec4 world = uModel * vec4(aPosition, 1.0);
|
|
15
|
+
vWorld = world.xyz;
|
|
16
|
+
vNormal = uNormalMatrix * aNormal;
|
|
17
|
+
vUv = aUv;
|
|
18
|
+
vColor = aColor;
|
|
19
|
+
gl_Position = uViewProjection * world;
|
|
20
|
+
}`,Ue=`#version 300 es
|
|
21
|
+
precision highp float;
|
|
22
|
+
in vec3 vWorld;
|
|
23
|
+
in vec3 vNormal;
|
|
24
|
+
in vec2 vUv;
|
|
25
|
+
in vec4 vColor;
|
|
26
|
+
uniform vec3 uCamera;
|
|
27
|
+
uniform vec4 uBaseColor;
|
|
28
|
+
uniform vec3 uSpecular;
|
|
29
|
+
uniform float uMetallic;
|
|
30
|
+
uniform float uRoughness;
|
|
31
|
+
uniform float uNormalScale;
|
|
32
|
+
uniform float uOcclusionStrength;
|
|
33
|
+
uniform vec3 uEmissive;
|
|
34
|
+
uniform float uAlphaCutoff;
|
|
35
|
+
uniform int uFlags;
|
|
36
|
+
uniform sampler2D uBaseTexture;
|
|
37
|
+
uniform sampler2D uMetalRoughTexture;
|
|
38
|
+
uniform sampler2D uNormalTexture;
|
|
39
|
+
uniform sampler2D uOcclusionTexture;
|
|
40
|
+
uniform sampler2D uEmissiveTexture;
|
|
41
|
+
out vec4 outColor;
|
|
42
|
+
|
|
43
|
+
const float PI = 3.14159265;
|
|
44
|
+
const float LAMP = 3.0;
|
|
45
|
+
// The room: a sky and a ground for the light all around, and three lights in it.
|
|
46
|
+
const vec3 SKY = vec3(0.73);
|
|
47
|
+
const vec3 GROUND = vec3(0.58);
|
|
48
|
+
const vec3 LIGHTS[3] = vec3[3](
|
|
49
|
+
normalize(vec3(0.3, 0.7, 0.9)),
|
|
50
|
+
normalize(vec3(-0.8, 0.35, 0.5)),
|
|
51
|
+
normalize(vec3(0.2, 0.4, -1.0))
|
|
52
|
+
);
|
|
53
|
+
const vec3 RADIANCE[3] = vec3[3](vec3(1.2), vec3(0.3), vec3(0.4));
|
|
54
|
+
|
|
55
|
+
vec3 room(vec3 direction) {
|
|
56
|
+
return mix(GROUND, SKY, direction.y * 0.5 + 0.5);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// What a surface reflects of the room: its sky and ground, and its lamps, soft panels a
|
|
60
|
+
// glossy surface mirrors and a rough one only glows with.
|
|
61
|
+
const vec3 LAMPS[3] = vec3[3](
|
|
62
|
+
normalize(vec3(0.0, 1.0, 0.3)),
|
|
63
|
+
normalize(vec3(-1.0, 0.5, 0.4)),
|
|
64
|
+
normalize(vec3(1.0, 0.35, -0.3))
|
|
65
|
+
);
|
|
66
|
+
vec3 reflected(vec3 direction, float roughness) {
|
|
67
|
+
vec3 color = room(direction);
|
|
68
|
+
float spread = mix(0.04, 0.9, roughness);
|
|
69
|
+
for (int i = 0; i < 3; i++) {
|
|
70
|
+
float c = dot(direction, LAMPS[i]);
|
|
71
|
+
color += vec3(LAMP) * smoothstep(1.0 - spread, 1.0 - spread * 0.35, c) * (1.0 - 0.85 * roughness);
|
|
72
|
+
}
|
|
73
|
+
return color;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// A normal map's normal, in the frame its texture coordinates make (no tangents read).
|
|
77
|
+
vec3 mapped(vec3 n) {
|
|
78
|
+
vec3 tangentNormal = texture(uNormalTexture, vUv).xyz * 2.0 - 1.0;
|
|
79
|
+
tangentNormal.xy *= vec2(uNormalScale, -uNormalScale);
|
|
80
|
+
vec3 dp1 = dFdx(vWorld);
|
|
81
|
+
vec3 dp2 = dFdy(vWorld);
|
|
82
|
+
vec2 duv1 = dFdx(vUv);
|
|
83
|
+
vec2 duv2 = dFdy(vUv);
|
|
84
|
+
vec3 dp2perp = cross(dp2, n);
|
|
85
|
+
vec3 dp1perp = cross(n, dp1);
|
|
86
|
+
vec3 t = dp2perp * duv1.x + dp1perp * duv2.x;
|
|
87
|
+
vec3 b = dp2perp * duv1.y + dp1perp * duv2.y;
|
|
88
|
+
float scale = inversesqrt(max(dot(t, t), dot(b, b)) + 1e-12);
|
|
89
|
+
return normalize(mat3(t * scale, b * scale, n) * tangentNormal);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
vec3 neutral(vec3 color) {
|
|
93
|
+
const float start = 0.8 - 0.04;
|
|
94
|
+
const float desaturation = 0.15;
|
|
95
|
+
float x = min(color.r, min(color.g, color.b));
|
|
96
|
+
float offset = x < 0.08 ? x - 6.25 * x * x : 0.04;
|
|
97
|
+
color -= offset;
|
|
98
|
+
float peak = max(color.r, max(color.g, color.b));
|
|
99
|
+
if (peak < start) return color;
|
|
100
|
+
float d = 1.0 - start;
|
|
101
|
+
float newPeak = 1.0 - d * d / (peak + d - start);
|
|
102
|
+
color *= newPeak / peak;
|
|
103
|
+
float g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0);
|
|
104
|
+
return mix(color, vec3(newPeak), g);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
vec3 srgb(vec3 linear) {
|
|
108
|
+
return mix(
|
|
109
|
+
linear * 12.92,
|
|
110
|
+
1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055,
|
|
111
|
+
step(0.0031308, linear)
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
void main() {
|
|
116
|
+
vec4 base = uBaseColor * texture(uBaseTexture, vUv) * vColor;
|
|
117
|
+
if ((uFlags & ${C.mask}) != 0 && base.a < uAlphaCutoff) discard;
|
|
118
|
+
if ((uFlags & ${C.unlit}) != 0) {
|
|
119
|
+
outColor = vec4(srgb(base.rgb) * base.a, base.a);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// No normals given: the face's own, as glTF asks.
|
|
123
|
+
vec3 n = (uFlags & ${C.normals}) != 0
|
|
124
|
+
? normalize(vNormal)
|
|
125
|
+
: normalize(cross(dFdx(vWorld), dFdy(vWorld)));
|
|
126
|
+
if (!gl_FrontFacing) n = -n;
|
|
127
|
+
if ((uFlags & ${C.normalMap}) != 0) n = mapped(n);
|
|
128
|
+
vec3 v = normalize(uCamera - vWorld);
|
|
129
|
+
vec4 metalRough = texture(uMetalRoughTexture, vUv);
|
|
130
|
+
float roughness = clamp(uRoughness * metalRough.g, 0.045, 1.0);
|
|
131
|
+
float metallic = clamp(uMetallic * metalRough.b, 0.0, 1.0);
|
|
132
|
+
vec3 diffuse = base.rgb * (1.0 - metallic);
|
|
133
|
+
vec3 f0 = mix(uSpecular, base.rgb, metallic);
|
|
134
|
+
float a = roughness * roughness;
|
|
135
|
+
float nv = clamp(dot(n, v), 1e-4, 1.0);
|
|
136
|
+
vec3 color = vec3(0.0);
|
|
137
|
+
for (int i = 0; i < 3; i++) {
|
|
138
|
+
vec3 l = LIGHTS[i];
|
|
139
|
+
float nl = clamp(dot(n, l), 0.0, 1.0);
|
|
140
|
+
if (nl <= 0.0) continue;
|
|
141
|
+
vec3 h = normalize(l + v);
|
|
142
|
+
float nh = clamp(dot(n, h), 0.0, 1.0);
|
|
143
|
+
float vh = clamp(dot(v, h), 0.0, 1.0);
|
|
144
|
+
float a2 = a * a;
|
|
145
|
+
float dd = nh * nh * (a2 - 1.0) + 1.0;
|
|
146
|
+
float distribution = a2 / (PI * dd * dd);
|
|
147
|
+
float viewed = nl * sqrt(nv * nv * (1.0 - a2) + a2);
|
|
148
|
+
float lit = nv * sqrt(nl * nl * (1.0 - a2) + a2);
|
|
149
|
+
float visibility = 0.5 / (viewed + lit + 1e-5);
|
|
150
|
+
vec3 fresnel = f0 + (1.0 - f0) * pow(1.0 - vh, 5.0);
|
|
151
|
+
vec3 specular = fresnel * distribution * visibility;
|
|
152
|
+
color += ((1.0 - fresnel) * diffuse + PI * specular) * RADIANCE[i] * nl;
|
|
153
|
+
}
|
|
154
|
+
// The room's light all around: diffuse, and what a rough or smooth surface reflects of it.
|
|
155
|
+
vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
|
|
156
|
+
vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);
|
|
157
|
+
vec4 r = roughness * c0 + c1;
|
|
158
|
+
float a004 = min(r.x * r.x, exp2(-9.28 * nv)) * r.x + r.y;
|
|
159
|
+
vec2 ab = vec2(-1.04, 1.04) * a004 + r.zw;
|
|
160
|
+
float occlusion = mix(1.0, texture(uOcclusionTexture, vUv).r, uOcclusionStrength);
|
|
161
|
+
color += (diffuse * room(n) + (f0 * ab.x + ab.y) * reflected(reflect(-v, n), roughness)) * occlusion;
|
|
162
|
+
color += uEmissive * texture(uEmissiveTexture, vUv).rgb;
|
|
163
|
+
outColor = vec4(srgb(neutral(color)) * base.a, base.a);
|
|
164
|
+
}`,Q=10497,Fe=9729,Ce=new Set([9984,9985,9986,9987]);function Pe(e){const s=e.createProgram();for(const[o,t]of[[e.VERTEX_SHADER,Se],[e.FRAGMENT_SHADER,Ue]]){const n=e.createShader(o);e.shaderSource(n,t),e.compileShader(n),e.attachShader(s,n),e.deleteShader(n)}if(e.linkProgram(s),!e.getProgramParameter(s,e.LINK_STATUS))throw new Error(`The 3D view's shaders would not build: ${e.getProgramInfoLog(s)}`);return s}function Ie(e){const s=Pe(e),o=r=>e.getUniformLocation(s,r),t=Object.fromEntries(["uModel","uViewProjection","uNormalMatrix","uCamera","uBaseColor","uSpecular","uMetallic","uRoughness","uNormalScale","uOcclusionStrength","uEmissive","uAlphaCutoff","uFlags",...J].map(r=>[r,o(r)]));e.useProgram(s),J.forEach((r,m)=>e.uniform1i(t[r],m));const n=[],a=[],i=[],l=Me(),c=e.createTexture();e.bindTexture(e.TEXTURE_2D,c),e.texImage2D(e.TEXTURE_2D,0,e.RGBA8,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([255,255,255,255])),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),a.push(c),e.vertexAttrib4f(Y.COLOR_0,1,1,1,1);function u(r,m){var G;const{json:d}=r,M=new Map,p=new Map,w=new Map,S=(E,T)=>{const v=`${E}|${T}`;let h=M.get(v);if(!h){const b=d.bufferViews[E];h=e.createBuffer(),e.bindBuffer(T,h),e.bufferData(T,new Uint8Array(r.buffers[b.buffer],b.byteOffset??0,b.byteLength),e.STATIC_DRAW),M.set(v,h),n.push(h)}return h},y=(E,T)=>{var F,N;const v=E?(F=d.textures)==null?void 0:F[E.index]:void 0,h=(v==null?void 0:v.source)!==void 0?r.images[v.source]:null;if(!E||!h)return null;const b=`${E.index}|${T}`;let _=p.get(b);if(!_){_=e.createTexture(),e.bindTexture(e.TEXTURE_2D,_),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE),e.texImage2D(e.TEXTURE_2D,0,T?e.SRGB8_ALPHA8:e.RGBA8,e.RGBA,e.UNSIGNED_BYTE,h);const x=(v==null?void 0:v.sampler)!==void 0?(N=d.samplers)==null?void 0:N[v.sampler]:void 0,A=(x==null?void 0:x.minFilter)??e.LINEAR_MIPMAP_LINEAR;e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,A),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,(x==null?void 0:x.magFilter)??Fe),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,(x==null?void 0:x.wrapS)??Q),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,(x==null?void 0:x.wrapT)??Q),Ce.has(A)&&e.generateMipmap(e.TEXTURE_2D),p.set(b,_),a.push(_)}return _},k=E=>{var A,B,D,V,R,P;const T=E??-1;let v=w.get(T);if(v)return v;const h=E!==void 0?((A=d.materials)==null?void 0:A[E])??{}:{},b=h.pbrMetallicRoughness??{},_=y(h.normalTexture,false),F=Number(((D=(B=h.extensions)==null?void 0:B.KHR_materials_ior)==null?void 0:D.ior)??1.5),N=(V=h.extensions)==null?void 0:V.KHR_materials_specular,x=((F-1)/(F+1))**2;return v={base:b.baseColorFactor??[1,1,1,1],specular:((N==null?void 0:N.specularColorFactor)??[1,1,1]).map(g=>Math.min(x*g,1)*((N==null?void 0:N.specularFactor)??1)),metallic:b.metallicFactor??1,roughness:b.roughnessFactor??1,normalScale:((R=h.normalTexture)==null?void 0:R.scale)??1,occlusion:h.occlusionTexture?h.occlusionTexture.strength??1:0,emissive:h.emissiveFactor??[0,0,0],cutoff:h.alphaCutoff??.5,flags:(_?C.normalMap:0)|((P=h.extensions)!=null&&P.KHR_materials_unlit?C.unlit:0)|(h.alphaMode==="MASK"?C.mask:0),doubleSided:!!h.doubleSided,blend:h.alphaMode==="BLEND",textures:[y(b.baseColorTexture,true),y(b.metallicRoughnessTexture,false),_,y(h.occlusionTexture,false),y(h.emissiveTexture,true)]},w.set(T,v),v},L=(E,T)=>{var _,F,N,x;const v=(_=d.nodes)==null?void 0:_[E];if(!v)return;const h=I(T,v.matrix?new Float32Array(v.matrix):X(v.translation??[0,0,0],v.rotation??[0,0,0,1],v.scale??[1,1,1])),b=v.mesh!==void 0?(F=d.meshes)==null?void 0:F[v.mesh]:void 0;for(const A of(b==null?void 0:b.primitives)??[]){const B=A.attributes.POSITION;if(B===void 0)continue;const D=e.createVertexArray();e.bindVertexArray(D);let V=0;for(const[W,H]of Object.entries(Y)){const j=A.attributes[W],U=j!==void 0?(N=d.accessors)==null?void 0:N[j]:void 0;if(!U||U.bufferView===void 0||U.sparse)continue;const re=d.bufferViews[U.bufferView];e.bindBuffer(e.ARRAY_BUFFER,S(U.bufferView,e.ARRAY_BUFFER)),e.enableVertexAttribArray(H),e.vertexAttribPointer(H,q(U.type),U.componentType,!!U.normalized,re.byteStride??0,U.byteOffset??0),W==="NORMAL"&&(V|=C.normals)}const R=A.indices!==void 0?(x=d.accessors)==null?void 0:x[A.indices]:void 0;(R==null?void 0:R.bufferView)!==void 0&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,S(R.bufferView,e.ELEMENT_ARRAY_BUFFER)),e.bindVertexArray(null);const P=I(m,h),g=k(A.material);i.push({vao:D,mode:A.mode??e.TRIANGLES,count:R?R.count:d.accessors[B].count,...(R==null?void 0:R.bufferView)!==void 0?{index:{type:R.componentType,offset:R.byteOffset??0}}:{},model:P,normal:Re(P),mirrored:Oe(P)<0,material:{...g,flags:g.flags|V}}),Ne(l,r,B,P)}for(const A of v.children??[])L(A,h)},O=(G=d.scenes)==null?void 0:G[d.scene??0],te=(O==null?void 0:O.nodes)??(d.nodes??[]).map((E,T)=>T).filter(E=>!d.nodes.some(T=>{var v;return(v=T.children)==null?void 0:v.includes(E)})),oe=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);te.forEach(E=>L(E,oe)),i.sort((E,T)=>Number(E.material.blend)-Number(T.material.blend))}function f(r,m,d,M){e.viewport(0,0,d,M),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),e.enable(e.DEPTH_TEST),e.useProgram(s),e.uniformMatrix4fv(t.uViewProjection,false,r),e.uniform3fv(t.uCamera,m);for(const p of i){const{material:w}=p;w.doubleSided?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),e.frontFace(p.mirrored?e.CW:e.CCW),w.blend?(e.enable(e.BLEND),e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA),e.depthMask(false)):(e.disable(e.BLEND),e.depthMask(true)),w.textures.forEach((S,y)=>{e.activeTexture(e.TEXTURE0+y),e.bindTexture(e.TEXTURE_2D,S??c)}),e.uniformMatrix4fv(t.uModel,false,p.model),e.uniformMatrix3fv(t.uNormalMatrix,false,p.normal),e.uniform4fv(t.uBaseColor,w.base),e.uniform3fv(t.uSpecular,w.specular),e.uniform1f(t.uMetallic,w.metallic),e.uniform1f(t.uRoughness,w.roughness),e.uniform1f(t.uNormalScale,w.normalScale),e.uniform1f(t.uOcclusionStrength,w.occlusion),e.uniform3fv(t.uEmissive,w.emissive),e.uniform1f(t.uAlphaCutoff,w.cutoff),e.uniform1i(t.uFlags,w.flags),e.bindVertexArray(p.vao),p.index?e.drawElements(p.mode,p.count,p.index.type,p.index.offset):e.drawArrays(p.mode,0,p.count)}e.bindVertexArray(null),e.depthMask(true)}return{add:u,bounds:()=>i.length?l:null,draw:f,dispose(){i.forEach(r=>e.deleteVertexArray(r.vao)),n.forEach(r=>e.deleteBuffer(r)),a.forEach(r=>e.deleteTexture(r)),e.deleteProgram(s),i.length=0}}}function Oe(e){return e[0]*(e[5]*e[10]-e[6]*e[9])-e[4]*(e[1]*e[10]-e[2]*e[9])+e[8]*(e[1]*e[6]-e[2]*e[5])}const Be=2;function Le({position:e,transforms:s}){let o=ee();for(const{type:t,x:n,y:a,z:i}of s){const l=t==="scale"?xe([n,a,i]):t==="translate"?K([n,a,i]):be([n,a,i]);o=I(l,o)}return I(K(e),o)}function ke(e,{onLost:s}){const o=document.createElement("canvas");o.className="clover-canvas-surface",o.setAttribute("aria-hidden","true"),o.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none";const t=o.getContext("webgl2",{antialias:true,alpha:true});if(!t)throw new Error("This browser cannot draw 3D: it offers no WebGL2.");const n=u=>{u.preventDefault(),s()};o.addEventListener("webglcontextlost",n),e.prepend(o);const a=Ie(t);let i={center:[0,0,0],radius:1},l=false;const c=()=>{const u=Math.min(globalThis.devicePixelRatio||1,Be),f=Math.round(e.clientWidth*u),r=Math.round(e.clientHeight*u);!f||!r||(o.width=f,o.height=r)};return c(),{async load(u,f){const r=u.filter(se);if(!r.length){const p=[...new Set(u.map(w=>w.format??w.src))];throw new Error(u.length?`Clover draws glTF models (${ie.join(", ")}), not ${p.join(", ")}.`:"The Scene paints no model.")}const m=t.getParameter(t.MAX_TEXTURE_SIZE),d=await Promise.all(r.map(p=>ve(p.src,f,m)));if(l)return i;d.forEach((p,w)=>a.add(p,Le(r[w])));const M=a.bounds();if(M){const p=M.min.map((S,y)=>(S+M.max[y])/2),w=Math.hypot(...M.max.map((S,y)=>S-M.min[y]))/2;i={center:p,radius:w||1}}return i},draw(u){if(l||!o.width||!o.height)return;const f=ne(u,i.center),r=Math.max(i.radius/1e3,u.distance-i.radius*2),m=u.distance+i.radius*4,d=ye(ae*Math.PI/180,o.width/o.height,r,m);a.draw(I(d,Ae(f,i.center)),f,o.width,o.height)},resize:c,dispose(){var u;l||(l=true,o.removeEventListener("webglcontextlost",n),a.dispose(),(u=t.getExtension("WEBGL_lose_context"))==null||u.loseContext(),o.remove())}}}export{ke as createEngine,Le as placement};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ax as l,bs as g}from"./viewer-DJrQuNs1.mjs";function b(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),n=e+"=".repeat((4-e.length%4)%4),o=atob(n);try{return decodeURIComponent(o)}catch{const a=Uint8Array.from(o,s=>s.charCodeAt(0));return new TextDecoder().decode(a)}}function I(t){const e=t.trim();for(const n of[()=>JSON.parse(e),()=>JSON.parse(b(e))])try{const o=n();if(o&&typeof o=="object")return o}catch{}return null}function v(t){if(!t)return;const e=Number(t.split(",")[0]);return Number.isFinite(e)?e:void 0}const u=t=>l(t==null?void 0:t.partOf).find(e=>(e==null?void 0:e.id)&&e.type==="Collection");function h(t){const e=t.type==="Annotation"?l(t.target):[t],n=e[0]?m(e[0],t):null;if(!n||e.length<2)return n;const o=typeof t.id=="string"?t.id:"content-state",a=e.flatMap((s,d)=>{var y,p,f;const i=d===0?n:m(s,t),r=(i==null?void 0:i.type)==="Manifest"?i.id:i==null?void 0:i.manifestId;return!i||!r?[]:[{id:`${o}#target-${d+1}`,manifestId:r,...((y=i.target)==null?void 0:y.canvasId)&&{canvasId:i.target.canvasId},...((p=i.target)==null?void 0:p.region)&&{region:i.target.region},...((f=i.target)==null?void 0:f.time)!==void 0&&{time:i.target.time}}]});return a.length>1?{...n,targets:{id:o,...t.label&&typeof t.label=="object"?{label:t.label}:{},items:a}}:n}function m(t,e){const n=g(t),o=typeof t=="string"?{id:n.id}:t.type==="SpecificResource"?typeof t.source=="string"?{id:t.source}:t.source??{}:t,a=o.type;if(a==="Manifest"||a==="Collection"){const c=a==="Manifest"?u(o):void 0;return c?{id:c.id,type:"Collection",manifestId:n.id}:{id:n.id,type:a}}const s=l(t.selector).find(c=>(c==null?void 0:c.type)==="PointSelector"&&c.t!=null),d={canvasId:n.id};n.rect&&(d.region=n.rect);const i=(s==null?void 0:s.t)??v(n.t);i!==void 0&&(d.time=Number(i));const r=l(o.partOf).find(c=>(c==null?void 0:c.id)&&(!c.type||c.type==="Manifest")),y=u(r),p=e.type==="Annotation"&&l(e.body).length?{id:e.id??`${n.id}#content-state`,type:"Annotation",motivation:l(e.motivation),body:e.body,target:t}:void 0,f=p?{annotation:p}:{};return y&&r?{id:y.id,type:"Collection",manifestId:r.id,target:d,...f}:r?{id:r.id,type:"Manifest",target:d,...f}:{id:n.id,type:a??"Canvas",target:d,...f}}export{I as decodeContentState,h as resolveContentState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bu as _}from"./viewer-DJrQuNs1.mjs";const k=1/3,Y=.5,P=8,z="translate 240ms cubic-bezier(0.16, 1, 0.3, 1)",D=[120,_],A="cubic-bezier(0.33, 0.67, 0.67, 1)",E=new WeakMap;function O(t,n){let o=null,i="idle",a=0,S=0,s=0,d=1,e=1,c=[];const f=()=>{var r;return[t,(r=n.current.alongside)==null?void 0:r.current]},M=r=>{if(r.pointerType==="mouse"||!r.isPrimary||!n.current.enabled)return;o=r.pointerId,i="pending",a=r.clientX,S=r.clientY,s=0,d=t.getBoundingClientRect().width||1;const p=getComputedStyle(t).direction==="rtl";e=n.current.side==="end"!==p?1:-1,c=[[r.timeStamp,0]]},$=r=>{var g,v;if(r.pointerId!==o||i==="idle"||i==="scroll")return;const p=(r.clientX-a)*e,y=r.clientY-S;if(i==="pending"){if(Math.abs(y)>P&&Math.abs(y)>Math.abs(p)){i="scroll";return}if(p<P)return;i="drag",a=r.clientX,c=[[r.timeStamp,0]];try{(g=t.setPointerCapture)==null||g.call(t,r.pointerId)}catch{}u(f(),void 0,"none")}s=Math.max(0,(r.clientX-a)*e),u(f(),`${s*e}px 0`);const h=(v=n.current.scrim)==null?void 0:v.current;h&&(h.style.transition="none",h.style.opacity=String(1-s/d)),c.push([r.timeStamp,s]),c.length>5&&c.shift(),r.preventDefault()},m=r=>{var X,C,T;if(r.pointerId!==o)return;const p=i==="drag";if(i="idle",o=null,!p)return;t.addEventListener("click",b,{capture:true,once:true}),setTimeout(()=>t.removeEventListener("click",b,true),0);const[y,h]=c[0],[g,v]=c[c.length-1],I=g>y?(v-h)/(g-y):0,l=(X=n.current.scrim)==null?void 0:X.current,L=(C=window.matchMedia)==null?void 0:C.call(window,"(prefers-reduced-motion: reduce)").matches;if(s>d*k||I>Y){const x=L?0:Math.min(D[1],Math.max(D[0],2*(d-s)/Math.max(I,.001))),w=`${x}ms ${A}`;if(l&&(l.style.transition=`opacity ${w}`,l.style.opacity="0"),n.current.exits){u(f(),`${d*e}px 0`,`translate ${w}`),setTimeout(()=>n.current.onClose(),x);return}t.style.transition="none",t.style.translate="",t.style.transform=`translateX(${s*e}px)`,t.getBoundingClientRect(),t.style.transition=`transform ${w}`,t.style.transform=`var(--clover-template-out, translateX(${e*100}%))`,u([(T=n.current.alongside)==null?void 0:T.current],`${d*e}px 0`,`translate ${w}`),E.set(t,setTimeout(()=>R(t,n),x)),n.current.onClose();return}u(f(),"",L?"none":z),l&&(l.style.transition=L?"none":"opacity 240ms ease",l.style.opacity=""),setTimeout(()=>{i==="idle"&&!E.has(t)&&u(f(),void 0,"")},240)},b=r=>{r.stopPropagation(),r.preventDefault()};return t.addEventListener("pointerdown",M),t.addEventListener("pointermove",$,{passive:false}),t.addEventListener("pointerup",m),t.addEventListener("pointercancel",m),()=>{t.removeEventListener("pointerdown",M),t.removeEventListener("pointermove",$),t.removeEventListener("pointerup",m),t.removeEventListener("pointercancel",m)}}function F(t,n){E.has(t)&&!n.current.enabled||R(t,n)}function R(t,n){var i,a;clearTimeout(E.get(t)),E.delete(t),u([t,(i=n.current.alongside)==null?void 0:i.current],"",""),t.style.transform="";const o=(a=n.current.scrim)==null?void 0:a.current;o&&(o.style.opacity="",o.style.transition="")}function u(t,n,o){for(const i of t)i&&(o!==void 0&&(i.style.transition=o),n!==void 0&&(i.style.translate=n))}export{O as attach,F as reset};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ax as h,av as x,br as m,bs as I,bt as q}from"./viewer-DJrQuNs1.mjs";function S(e,i,n){for(const s of h(e==null?void 0:e.items))for(const o of h(s==null?void 0:s.items)){if(!x(o))continue;const l=h(o==null?void 0:o.body).flatMap(t=>(t==null?void 0:t.type)==="Choice"?h(t.items).filter((r,f)=>n?(r==null?void 0:r.id)===n:f===0):n&&(t==null?void 0:t.id)!==n?[]:[t]);for(const t of l){if((t==null?void 0:t.type)!=="Image"||!t.width||!t.height)continue;const r=m(t.service);if(!r)continue;const f=I(h(o.target)[0]).rect??{x:0,y:0,w:e.width,h:e.height},a=(i.x-f.x)/f.w,c=(i.y-f.y)/f.h,u=Math.max(0,a),M=Math.max(0,c),g=Math.min(1,a+i.w/f.w)-u,p=Math.min(1,c+i.h/f.h)-M;if(g>0&&p>0)return{service:r,region:{x:u,y:M,width:g,height:p}}}}return null}const w=new WeakMap;function k(e,i){let n=w.get(e);n||w.set(e,n=new Map);let s=n.get(i);return s||(s=q({id:i,type:"Manifest"},{request:e.request}).catch(()=>null),n.set(i,s)),s}export{k as f,S as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var R=Object.defineProperty;var k=(s,t,e)=>t in s?R(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>k(s,typeof t!="symbol"?t+"":t,e);import{b as x,n as E,u as r,M as p,k as O,q as M,C as m,I as g,$ as C,x as D}from"./viewer-
|
|
1
|
+
var R=Object.defineProperty;var k=(s,t,e)=>t in s?R(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>k(s,typeof t!="symbol"?t+"":t,e);import{b as x,n as E,u as r,M as p,k as O,q as M,C as m,I as g,$ as C,x as D}from"./viewer-DJrQuNs1.mjs";import"./styles-I7_LWFGj.mjs";function N(s){return{render:function(t){E(t,s)},unmount:function(){x(s)}}}const $="clover-root",b=Symbol("roots"),A=[];class F{constructor(t){l(this,"entries",new Map);l(this,"lists",new Map);l(this,"listeners",new Map);l(this,"languages",new I(t2=>this.entries.has(t2)));this.count=t}list(t){return this.lists.get(t)??A}subscribe(t,e){let n=this.listeners.get(t);return n||this.listeners.set(t,n=new Set),n.add(e),()=>{n.delete(e)}}connect(t){var i;const e=t.kind==="part"?((i=t.element.parentElement)==null?void 0:i.closest($))??null:null,n=this.entries.get(t.element);if(n&&n.root===e)return;const o={hosted:t,key:(n==null?void 0:n.key)??++this.count.made,root:e};this.entries.set(t.element,o),n&&this.change(h(n),a=>a.filter(c=>c!==n)),this.change(h(o),a=>[...a,o]),t.needsRoot&&!e&&console.warn(`<${t.element.localName}> shows a <clover-root>'s state: put it inside one.`),t.kind!=="root"&&this.languages.draws(t.element.localName),(t.kind!=="part"||!e)&&this.languages.watch(t.element)}disconnect(t){const e=this.entries.get(t);e&&(this.entries.delete(t),this.change(h(e),n=>n.filter(o=>o!==e)))}change(t,e){var n;this.lists.set(t,e(this.list(t))),(n=this.listeners.get(t))==null||n.forEach(o=>o())}}const h=s=>s.hosted.kind==="root"?b:s.root;class I{constructor(t){l(this,"observer",null);l(this,"tags",new Set);this.isElement=t}draws(t){this.tags.add(t)}watch(t){this.observer??(this.observer=new MutationObserver(e=>{const n=[...this.tags,".clover-announcer"].join(",");for(const{target:o}of e){const i=o;i.getAttribute("lang")!==""||this.isElement(i)||i.closest(n)&&i.removeAttribute("lang")}})),this.observer.observe(t,{subtree:true,attributes:true,attributeFilter:["lang"]})}}function d(s,t){const e=M(o=>s.subscribe(t,o),[s,t]);return m(e,()=>s.list(t))}function w(s){return m(s.subscribe,s.getProps,s.getProps)}function L({registry:s}){const t=d(s,b),e=d(s,null);return r(O,{children:[t.map(n=>r(W,{entry:n,registry:s},n.key)),e.map(n=>r(S,{entry:n},n.key))]})}const v=s=>`clover-${s.key}-`,W=p(function({entry:t,registry:e}){const{hosted:n}=t,o=d(e,n.element),i=w(n),a=n.Component;return r(P,{hosted:n,props:i,children:r(g.Provider,{value:v(t),children:r(a,{hosted:n,props:i,children:o.map(c=>r(S,{entry:c},c.key))})})})}),S=p(function({entry:t}){const{hosted:e}=t,n=w(e);if(e.needsRoot&&!t.root)return null;const o=e.Component;return C(r(P,{hosted:e,props:n,children:r(g.Provider,{value:v(t),children:r(o,{hosted:e,props:n})})}),e.element)});class P extends D{constructor(){super(...arguments);l(this,"state",{failed:false})}static getDerivedStateFromError(){return{failed:true}}componentDidCatch(e,n){console.error(`<${this.props.hosted.element.localName}>:`,e)}componentDidUpdate(e){this.state.failed&&e.props!==this.props.props&&this.setState({failed:false})}render(){return this.state.failed?null:this.props.children}}const f=new WeakMap,u=Symbol.for("clover.elements");function H(s){let t=f.get(s);if(!t){const e=s;e[u]&&console.warn("Clover is loaded twice on this page: load one entry."),t=new F(e[u]??(e[u]={made:0})),f.set(s,t),N(s.createElement("div")).render(r(L,{registry:t}))}return t}export{F as Registry,H as hostOf};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aa as I,ax as u,av as L,bs as $,bz as P,bA as S}from"./viewer-DJrQuNs1.mjs";function z(t){const c=new Map;for(const e of I(t).canvases)j(e,c);return[...c.values()]}function j(t,c){u(t.items).forEach((e,r)=>u(e==null?void 0:e.items).forEach((d,f)=>{if(!L(d))return;const a=$(u(d.target)[0]).rect??{x:0,y:0,w:Number(t.width)||0,h:Number(t.height)||0};u(d.body).forEach((o,y)=>{const w=(o==null?void 0:o.type)==="Choice";(w?u(o.items):[o]).forEach((s,x)=>{for(const n of u(s==null?void 0:s.annotations)){if(!Array.isArray(n==null?void 0:n.items)||typeof(s==null?void 0:s.id)!="string")continue;const l=n.id??`${s.id}#annotations`,p=w?{key:P(t.id,d.id,r,f,y),item:x,image:s.id}:void 0,A=S(n,l,t.id).map(b=>{const h=k(b.annotation,s),N=Math.round(a.x+h.x*(a.w/h.width)),E=Math.round(a.y+h.y*(a.h/h.height)),g=Math.round(h.w*(a.w/h.width)),v=Math.round(h.h*(a.h/h.height)),M=`${t.id}#xywh=${N},${E},${g},${v}`;return{...b,canvasId:t.id,target:$(M),annotation:{...b.annotation,target:M},...p?{layer:p}:{}}});if(!A.length)continue;let m=c.get(l);m||(m={id:l,label:n.label??s.label,source:"manifest",entries:[]},c.set(l,m)),m.entries.push(...A)}})})}))}function k(t,c){const e=Number(c.width)||1,r=Number(c.height)||1,d={x:0,y:0,w:e,h:r,width:e,height:r},f=u(t==null?void 0:t.target)[0],o=(typeof f=="object"?u(f==null?void 0:f.selector):[]).find(i=>(i==null?void 0:i.type)==="ImageApiSelector"),y=typeof(o==null?void 0:o.region)=="string"?o.region:void 0;if(y){const i=/^(pct:)?([\d.]+),([\d.]+),([\d.]+),([\d.]+)$/.exec(y);if(!i)return d;const[s,x,n,l]=i.slice(2).map(Number);return i[1]?{x:s/100*e,y:x/100*r,w:n/100*e,h:l/100*r,width:e,height:r}:{x:s,y:x,w:n,h:l,width:e,height:r}}const w=$(f).rect;return w?{...w,width:e,height:r}:d}export{z as imageLayers};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cp as e}from"./viewer-DJrQuNs1.mjs";export{e as initCloverI18n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ax as n,aw as p,bs as c}from"./viewer-DJrQuNs1.mjs";function g(r){if(n(r==null?void 0:r.motivation).includes("linking"))for(const i of p(r)){if((i==null?void 0:i.type)==="TextualBody"||typeof(i==null?void 0:i.value)=="string")continue;const t=(i==null?void 0:i.type)==="SpecificResource"?i.source:i,e=typeof t=="string"?t:t==null?void 0:t.id;if(!(typeof e!="string"||!e)){if((t==null?void 0:t.type)==="Canvas"){const s=n(t.partOf).find(f=>(f==null?void 0:f.id)&&(!f.type||f.type==="Manifest")),u=c(e).id;return{id:e,canvasId:u,...s?{manifestId:s.id}:{}}}if((t==null?void 0:t.type)==="Manifest"||(t==null?void 0:t.type)==="Collection")return{id:e,manifestId:e};if(/^https?:\/\//i.test(e))return{id:e}}}}function o(r){const i=n(r==null?void 0:r.motivation);if(!(!i.includes("tagging")&&!i.includes("identifying")))for(const t of p(r)){if((t==null?void 0:t.type)==="TextualBody"||typeof(t==null?void 0:t.value)=="string")continue;const e=(t==null?void 0:t.type)==="SpecificResource"?t.source:t,s=typeof e=="string"?e:e==null?void 0:e.id;if(typeof s=="string"&&/^https?:\/\//i.test(s))return{id:s}}}export{o as a,g as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{br as i,cn as a,co as s}from"./viewer-DJrQuNs1.mjs";async function d(r,c,n){const e=typeof r.id=="string"?r.id:void 0,t=i(r.service);if(!t)return e;try{const o=await a(t,{request:n});return s(o,c)??e}catch{return e}}export{d as overlayImageUrl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ax as c,bx as l,bs as g,by as x,b8 as E}from"./viewer-DJrQuNs1.mjs";const A=t=>t&&typeof t=="object"?Object.entries(t).flatMap(([i,r])=>c(r).filter(s=>typeof s=="string").map(s=>({value:s,...i!=="none"?{language:i}:{}}))):typeof t=="string"?[{value:t}]:[],a=new WeakMap;function j(t){if(!t)return null;if(a.has(t))return a.get(t);const i=[],r=new Set,s=n=>{if(!n||r.has(n.id??n))return;r.add(n.id??n);const b=typeof n.id=="string"&&!c(n.behavior).includes("no-nav"),d=A(n.label),h=c(n.items).filter(o=>(o==null?void 0:o.type)!=="Range"&&g(x(o)).id).length;let v=0;for(const o of c(n.items)){if((o==null?void 0:o.type)==="Range"){s(o);continue}const e=g(x(o));if(!e.id)continue;const f=v++;if(!b||!e.rect)continue;const{x:w,y:T,w:I,h:S}=e.rect,u=E(n.id,f);i.push({id:u,setId:l,canvasId:e.id,target:{id:e.id,rect:e.rect},motivation:["highlighting"],bodies:d,...h>1?{place:{index:f+1,total:h}}:{},annotation:{id:u,type:"Annotation",motivation:["highlighting"],...d.length&&{body:d.map(({value:$,language:y})=>({type:"TextualBody",value:$,...y?{language:y}:{}}))},target:`${e.id}#xywh=${w},${T},${I},${S}`}})}};c(t.structures).forEach(s);const p=i.length?{id:l,source:"contents",entries:i}:null;return a.set(t,p),p}export{j as contentsSet};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{X as f,u as r,A as u,Y as p,_ as d,k as m}from"./viewer-DJrQuNs1.mjs";import"./styles-I7_LWFGj.mjs";const v=f(null),l=new WeakMap;function y(t){let n=l.get(t);if(!n){const{render:o}=t;n={canvasId:t.canvasId,format:t.format,match:t.match,component:c=>r(A,{...c,render:o})},l.set(t,n)}return n}function h(t){if(Array.isArray(t))return t.filter(n=>typeof n=="object"&&n!==null&&typeof n.render=="function").map(y)}function A({render:t,canvases:n,bodies:o,children:c}){const a=u(null),s=p(v);return d(()=>{const e=a.current;if(!e)return;const i=t(e,{canvases:n,bodies:o,clover:s});return()=>{typeof i=="function"&&i(),e.replaceChildren()}},[t,n,o,s]),r(m,{children:[r("div",{ref:a,className:"clover-body-renderer",style:{position:"absolute",inset:0}}),c&&r("div",{className:"clover-canvas-controls",children:c})]})}export{h as toRenderers};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bJ as a}from"./viewer-DJrQuNs1.mjs";function c(t){try{const o=new URL(t).pathname.split("/").filter(Boolean).pop();return o?decodeURIComponent(o):"download"}catch{return"download"}}async function i(t,o){try{const r=await a(o,t,{referrerPolicy:"no-referrer"});if(!r.ok)return false;const n=URL.createObjectURL(await r.blob()),e=document.createElement("a");return e.href=n,e.download=c(t),document.body.append(e),e.click(),e.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4),true}catch{return false}}export{c as fileName,i as saveFile};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{bB as b,ax as f,bs as x,bC as S}from"./viewer-DJrQuNs1.mjs";const w=10;async function R(r,t,s,o,e){var n,d;const i=(n=r.get().manifest)==null?void 0:n.id;try{const{hits:c,set:u}=await A(t,s,{request:o,signal:e});if(e.aborted||((d=r.get().manifest)==null?void 0:d.id)!==i)return;r.set({search:{query:s,status:"ready",hits:c,set:u}})}catch{if(e.aborted)return;r.set({search:{query:s,status:"error",hits:[],set:null}})}}async function A(r,t,{request:s,signal:o}={}){const e=new URL(r.id);e.searchParams.set("q",t);const i=[];let n=e.toString();const d=new Set;for(;n&&i.length<w&&!d.has(n);){d.add(n);const c=await b(s,n,o);i.push(c),n=$(c)}return E(i,t)}function T(r){var e;const t=f(r)[0];if(typeof t=="string"||!t)return t;const s=t.full??t["@id"],o=(e=f(t.selector)[0])==null?void 0:e.value;return typeof o=="string"&&typeof s=="string"?`${s}#${o}`:s}function $(r){var o;const t=r.next??((o=r.within)==null?void 0:o.next),s=typeof t=="string"?t:(t==null?void 0:t.id)??(t==null?void 0:t["@id"]);return typeof s=="string"?s:null}function E(r,t){var e,i;const s=[],o=[];for(const n of r){const d=Array.isArray(n.resources),c=d?n.resources:f(n.items),u=new Map;for(const a of c){const p=a.id??a["@id"],m=d?T(a.on):f(a.target)[0],v=x(m);if(!p||!v.id)continue;const y=d?(e=a.resource)==null?void 0:e.chars:f(a.body).map(l=>l==null?void 0:l.value).find(l=>typeof l=="string"),I={id:p,setId:S,canvasId:v.id,target:v,motivation:["highlighting"],bodies:[{value:String(y??t)}],annotation:{id:p,type:"Annotation",motivation:["highlighting"],body:{type:"TextualBody",value:String(y??t)},target:m}};u.set(p,I),s.push(I)}const g=d?H(n,u):M(n,u),h=new Set(g.flatMap(a=>a.entryIds));o.push(...g);for(const a of u.values())h.has(a.id)||o.push({id:a.id,canvasId:a.canvasId,entryIds:[a.id],match:((i=a.bodies[0])==null?void 0:i.value)??t})}return{query:t,hits:o,set:{id:S,label:{none:[t]},source:"search",entries:s}}}function H(r,t){var o;const s=[];for(const e of f(r.hits)){const i=f(e.annotations).filter(n=>t.has(n));i.length&&s.push({id:i.join(" "),canvasId:t.get(i[0]).canvasId,entryIds:i,before:e.before,match:String(e.match??((o=t.get(i[0]).bodies[0])==null?void 0:o.value)??""),after:e.after})}return s}function M(r,t){var o,e;const s=[];for(const i of f(r.annotations))for(const n of f(i==null?void 0:i.items))if(f(n==null?void 0:n.motivation).includes("contextualizing"))for(const c of f(n.target)){const u=typeof(c==null?void 0:c.source)=="string"?c.source:(o=c==null?void 0:c.source)==null?void 0:o.id,g=u?t.get(u):void 0;if(!g)continue;const h=f(c.selector).find(a=>(a==null?void 0:a.type)==="TextQuoteSelector");s.push({id:`${n.id??u}#${u}`,canvasId:g.canvasId,entryIds:[g.id],before:h==null?void 0:h.prefix,match:String((h==null?void 0:h.exact)??((e=g.bodies[0])==null?void 0:e.value)??""),after:h==null?void 0:h.suffix})}return s}export{E as readResults,A as search,R as searchInto};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var b=Object.defineProperty;var g=(r,e,o)=>e in r?b(r,e,{enumerable:true,configurable:true,writable:true,value:o}):r[e]=o;var p=(r,e,o)=>g(r,typeof e!="symbol"?e+"":e,o);const n=new Map,m=new Set;function i(r,e,o){if(!n.has(e)){n.set(e,{index:r,css:o});for(const a of m)a.place(e,r,o)}}class h{constructor(e){p(this,"injected",new Set);this.doc=e,m.add(this),n.forEach(({index:o,css:a},t)=>this.place(t,o,a))}inject(e,o){this.injected.has(e)||(this.injected.add(e),this.doc.head.prepend(this.style(e,o)))}place(e,o,a){if(this.injected.has(e))return;this.injected.add(e);const t=this.style(e,a);t.dataset.cloverIndex=String(o);const s=[...this.doc.head.querySelectorAll("style[data-clover-index]")],v=s.filter(l=>Number(l.dataset.cloverIndex)<o).at(-1),d=s.find(l=>Number(l.dataset.cloverIndex)>o),c=this.doc.head.querySelectorAll("style[data-clover]");v?v.after(t):d?d.before(t):c.length?c[c.length-1].after(t):this.doc.head.prepend(t)}style(e,o){const a=this.doc.createElement("style");return a.dataset.clover=e,a.textContent=o,a}}const u=new WeakMap;function x(r){let e=u.get(r);return e||u.set(r,e=new h(r)),e}i(1,"styles-1",'@layer clover{:root{--clover-space-3xs: .146rem;--clover-space-2xs: .236rem;--clover-space-xs: .382rem;--clover-space-s: .618rem;--clover-space-m: 1rem;--clover-space-l: 1.618rem;--clover-space-xl: 2.618rem;--clover-space-2xl: 4.236rem;--clover-text-xs: .764rem;--clover-text-s: .854rem;--clover-text-m: 1.146rem;--clover-text-l: 1.236rem;--clover-control: calc(1rem + 2 * var(--clover-space-s));--clover-inset: var(--clover-space-l);--clover-picture: calc(4 * var(--clover-space-xl))}:where(.clover-title){margin:0;font-weight:var(--clover-title-weight, 400);line-height:1.25;overflow-wrap:anywhere}:where(.clover-root,.clover-canvas,.clover-items,.clover-geomap) :where(button,input,select,textarea){font:inherit}:where(.clover-field-pill-query,.clover-collection-select-control){box-sizing:border-box;padding:var(--clover-space-xs) var(--clover-space-s);border:1px solid var( --clover-field-edge, color-mix( in srgb, var(--clover-color-primary-muted, #26292b) 80%, var(--clover-color-secondary, #fff) ) );border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e)}:where(.clover-field-pill-query,.clover-collection-select-control):focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}:where(.clover-field-pill-query)::placeholder{color:color-mix(in srgb,var(--clover-color-primary, #1a1d1e) 65%,var(--clover-color-secondary, #fff));opacity:1}:where([data-high-contrast]){--clover-accent-fill: var(--clover-color-control, #1a1d1e);--clover-accent-ring: 3px solid var(--clover-color-accent, #0065c3);--clover-accent-ring-hover: 3px solid color-mix(in srgb, var(--clover-color-accent, #0065c3) 50%, transparent);--clover-accent-text-fallback: var(--clover-color-primary, #1a1d1e);--clover-transition: none}.clover-canvas-error{display:flex;flex-direction:column;align-items:center;gap:var(--clover-space-s)}.clover-canvas-error-headline{font-weight:700;font-size:var(--clover-text-l)}button.clover-canvas-exit-full-screen{display:none;position:absolute;top:var(--clover-canvas-controls-inset);left:var(--clover-canvas-controls-inset);z-index:3;align-items:center;gap:var(--clover-space-xs);height:var(--clover-control);padding:0 var(--clover-space-m) 0 var(--clover-space-s);border:none;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-control, #1a1d1e);color:var(--clover-color-control-glyph, #fff);font-size:var(--clover-text-s);font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}.clover-canvas-exit-full-screen svg{height:1rem;width:1rem;flex-shrink:0}.clover-canvas-exit-full-screen:hover,.clover-canvas-exit-full-screen:focus-visible{background-color:var(--clover-color-accent, #0065c3)}:where([data-high-contrast]) .clover-canvas-exit-full-screen:is(:hover,:focus-visible){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) .clover-canvas-exit-full-screen:hover:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}.clover-root:fullscreen{overflow:auto;background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.clover-loading{position:relative;display:block;width:100%;height:3px;overflow:hidden;opacity:0;animation:clover-loading-show 1ms .25s forwards}.clover-loading>span{position:absolute;inset:0;background-color:var(--clover-color-accent, #0065c3);transform-origin:left center;animation:clover-loading-draw 1.4s cubic-bezier(.4,0,.2,1) infinite}.clover-loading:dir(rtl)>span{transform-origin:right center}.clover-loading[data-overlay]{position:absolute;top:0;left:0;z-index:3;pointer-events:none}.clover-body:has(>.clover-loading) .clover-canvas .clover-loading{display:none}@keyframes clover-loading-show{to{opacity:1}}@keyframes clover-loading-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.clover-loading>span{animation-duration:2.8s}}.clover-body-unloadable,.clover-body-note{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:var(--clover-inset);pointer-events:none}.clover-body-unloadable[data-room]{inset-block-end:var(--clover-transport-room, 0)}.clover-body-unloadable:empty{display:none}.clover-body-unloadable>p,.clover-body-note>p{margin:0;padding:var(--clover-space-xs) var(--clover-space-s);border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);text-align:center}.clover-sections{--clover-chevron: 12px}.clover-chevron{flex-shrink:0;color:inherit;transition:transform .2s cubic-bezier(.16,1,.3,1)}.clover-chevron[data-open]{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.clover-chevron{transition:none}}:is(button.clover-sections-button,button.clover-contents-toggle):focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:-2px}.clover-canvas-overlays{overflow:hidden;isolation:isolate;container-type:size;scroll-padding-block:var(--clover-canvas-clear-top, 0) var(--clover-canvas-clear-bottom, 0)}.clover-canvas-overlay{transform-origin:center}.clover-canvas-annotation{box-sizing:border-box;margin:0;padding:0;cursor:zoom-in;background-color:transparent;border:1px solid var(--clover-color-primary, #1a1d1e);border-radius:var(--clover-radius, 3px);box-shadow:inset 0 0 0 1px var(--clover-color-secondary, #fff),0 0 38vw 38vw transparent;z-index:var(--clover-annotation-depth, 0);-webkit-mask-image:var(--clover-annotation-mask, none);mask-image:var(--clover-annotation-mask, none);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:120% 120%;mask-size:120% 120%;mask-clip:no-clip}.clover-canvas-annotation:is([data-link],[data-track]){cursor:pointer}.clover-canvas-annotation[hidden]{display:none}.clover-canvas-annotation:is([data-active=true],:focus-visible){border-color:var(--clover-color-secondary, #fff);outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:0;box-shadow:0 0 0 3px var(--clover-color-primary, #1a1d1e),0 0 38vw 38vw #0002}.clover-canvas-annotation:is([data-shape=point],[data-shape=svg]){pointer-events:none}.clover-canvas-annotation:is([data-shape=point],[data-shape=svg]),.clover-canvas-annotation:is([data-shape=point],[data-shape=svg]):is([data-active=true],:focus-visible){border-color:transparent;outline:none;background-color:transparent;box-shadow:none}.clover-canvas-annotation-point{position:absolute;top:50%;left:50%;width:var(--clover-space-m);height:var(--clover-space-m);border:2px solid var(--clover-color-secondary, #fff);border-radius:50%;background-color:var(--clover-color-accent, #0065c3);box-shadow:0 0 0 1px var(--clover-color-primary, #1a1d1e);transform:translate(-50%,-50%);pointer-events:auto}.clover-canvas-annotation-point:before{position:absolute;top:50%;left:50%;width:var(--clover-space-l);height:var(--clover-space-l);border-radius:50%;transform:translate(-50%,-50%);content:""}.clover-canvas-annotation[data-shape=point]:is([data-active=true],:focus-visible) .clover-canvas-annotation-point{box-shadow:0 0 0 2px var(--clover-color-accent, #0065c3),0 0 0 3px var(--clover-color-primary, #1a1d1e)}.clover-canvas-annotation-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.clover-canvas-annotation-shape>g>*{fill:none;stroke:none;pointer-events:none}.clover-canvas-annotation-shape>g:nth-child(1)>*{fill:transparent;stroke:var(--clover-color-primary, #1a1d1e);stroke-width:3;pointer-events:visiblePainted;cursor:zoom-in}.clover-canvas-annotation-shape>g:nth-child(2)>*{stroke:var(--clover-color-secondary, #fff);stroke-width:1}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(1)>*{stroke-width:6}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(2)>*{stroke-width:4}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(3)>*{stroke:var(--clover-color-accent, #0065c3);stroke-width:2}@media (forced-colors: active){.clover-canvas-annotation{border-color:CanvasText}.clover-canvas-annotation[data-shape=rect]{outline:1px solid Canvas;outline-offset:-2px}.clover-canvas-annotation:is([data-active=true],:focus-visible){outline:2px solid Highlight;outline-offset:0}.clover-canvas-annotation-shape>g:nth-child(1)>*{stroke:CanvasText}.clover-canvas-annotation-shape>g:nth-child(2)>*{stroke:Canvas}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(3)>*{stroke:Highlight}.clover-canvas-annotation[data-shape=point]:is([data-active=true],:focus-visible) .clover-canvas-annotation-point{outline:2px solid Highlight;outline-offset:1px}}.clover-canvas{--clover-canvas-inset: 0px;--clover-canvas-controls-inset: var(--clover-inset);--clover-controls-leave: .18s cubic-bezier(.4, 0, 1, 1);--clover-controls-enter: .34s cubic-bezier(.34, 1.56, .64, 1);--clover-controls-tuck: var(--clover-space-s);--clover-controls-shown: 0;--clover-controls-events: none;--clover-controls-timing: var(--clover-controls-leave);position:relative;margin:0;--clover-canvas-background: #0001;background-color:var(--clover-canvas-background);width:100%;height:100%;min-height:inherit;overflow:hidden;isolation:isolate}@media (width < 31rem){.clover-canvas{--clover-canvas-controls-inset: var(--clover-space-m)}}.clover-canvas[data-fullscreen=true]{background-image:linear-gradient(var(--clover-canvas-background),var(--clover-canvas-background));background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e)}.clover-canvas[data-exit]>.clover-canvas-exit-full-screen{display:flex}.clover-canvas[data-exit]>.clover-canvas-navigator{top:calc(var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-s))}.clover-canvas{--clover-canvas-clear-top: var(--clover-space-xs);--clover-canvas-clear-bottom: var(--clover-space-xs)}.clover-canvas:has(>.clover-canvas-controls){--clover-canvas-clear-top: calc( var(--clover-canvas-controls-inset) + var(--clover-canvas-controls-height, var(--clover-control)) + var(--clover-space-s) )}.clover-canvas[data-has-navigator=true]{--clover-canvas-clear-top: calc( var(--clover-canvas-controls-inset) + var(--clover-space-2xl) + var(--clover-space-s) )}.clover-canvas[data-exit][data-has-navigator=true]{--clover-canvas-clear-top: calc( var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-2xl) + 2 * var(--clover-space-s) )}.clover-canvas[data-recording]{--clover-canvas-clear-bottom: var(--clover-transport-room)}.clover-canvas-viewport{padding:var(--clover-canvas-inset);isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab;outline:none}.clover-canvas-viewport:active{cursor:grabbing}.clover-canvas[data-navigable=false]>.clover-canvas-viewport{cursor:default}.clover-canvas-sound-label{position:absolute;inset:0 0 var(--clover-transport-room, 0) 0;z-index:-1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:var(--clover-inset);overflow:hidden;color:var(--clover-color-primary, #1a1d1e);font-size:var(--clover-text-l);line-height:1.3;text-align:center;overflow-wrap:anywhere;pointer-events:none}.clover-canvas-dom-media{display:block;-webkit-user-drag:none}.clover-canvas-dom-media.clover-canvas-painted-text{display:flex;align-items:center;overflow:hidden;color:var(--clover-color-primary, currentColor);line-height:1.2}.clover-canvas-painted-text>*{margin:0}.clover-canvas-scrim{position:absolute;inset:0 0 auto;z-index:0;height:calc(var(--clover-control) + 2 * var(--clover-space-l));pointer-events:none;background:linear-gradient(to bottom,#00000073,#0003 45%,#0000);opacity:var(--clover-controls-shown);transition:opacity var(--clover-controls-timing)}.clover-canvas[data-media=video]{--clover-canvas-background: #000}.clover-canvas[data-media=video]>.clover-canvas-scrim{display:none}.clover-canvas:not([data-controls]){--clover-controls-shown: 1;--clover-controls-events: auto;--clover-controls-timing: var(--clover-controls-enter)}.clover-canvas>.clover-canvas-controls{z-index:3;pointer-events:none}.clover-canvas>.clover-canvas-controls[data-fit]{left:var(--clover-canvas-controls-inset);flex-wrap:nowrap;gap:var(--clover-space-xs)}.clover-canvas>.clover-canvas-controls[data-fit]:has(>[data-button=panel]){padding-right:calc(var(--clover-control) + var(--clover-space-xs))}.clover-canvas>.clover-canvas-controls[data-fit]:dir(rtl){justify-content:flex-start}.clover-canvas[data-exit]>.clover-canvas-controls[data-fit]{left:calc(var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-s))}.clover-canvas[data-has-navigator=true]>.clover-canvas-controls[data-fit]{left:calc(var(--clover-canvas-controls-inset) + var(--clover-space-2xl) + var(--clover-space-xl) + var(--clover-space-s))}.clover-canvas>.clover-canvas-controls>.clover-canvas-more{--tray: var(--clover-space-3xs);display:flex;flex:0 1 auto;gap:var(--clover-space-xs);min-width:0;border-radius:var(--clover-radius-pill, 2rem);pointer-events:none}.clover-canvas>.clover-canvas-controls>.clover-canvas-more[data-open]{position:relative;margin:calc(-1 * var(--tray));padding:var(--tray);background-color:color-mix(in srgb,var(--clover-color-control, #1a1d1e) 40%,transparent);-webkit-backdrop-filter:blur(var(--clover-space-xs));backdrop-filter:blur(var(--clover-space-xs))}.clover-canvas-more>button,.clover-canvas-more-list>*{pointer-events:var(--clover-controls-events)}.clover-canvas>.clover-canvas-controls>.clover-canvas-more[data-open]{animation:clover-more-open .22s cubic-bezier(.16,1,.3,1)}.clover-canvas>.clover-canvas-controls>.clover-canvas-more[data-open]:dir(rtl){animation-name:clover-more-open-rtl}.clover-canvas-more[data-open]>.clover-canvas-more-list>*{animation:clover-more-in .22s cubic-bezier(.16,1,.3,1) backwards}@keyframes clover-more-open{0%{clip-path:inset(0 0 0 calc(100% - var(--clover-control) - 2 * var(--tray)) round var(--clover-radius-pill, 2rem))}to{clip-path:inset(0 round var(--clover-radius-pill, 2rem))}}@keyframes clover-more-open-rtl{0%{clip-path:inset(0 calc(100% - var(--clover-control) - 2 * var(--tray)) 0 0 round var(--clover-radius-pill, 2rem))}to{clip-path:inset(0 round var(--clover-radius-pill, 2rem))}}@keyframes clover-more-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.clover-canvas>.clover-canvas-controls>.clover-canvas-more[data-open],.clover-canvas-more[data-open]>.clover-canvas-more-list>*{animation:none}}.clover-canvas-more-list:not([hidden]){--ring: var(--clover-space-2xs);--tip-room: calc(2 * var(--clover-space-2xl));--fade: calc(var(--clover-space-l) + var(--clover-space-s));display:flex;gap:var(--clover-space-xs);min-width:0;margin:calc(-1 * var(--ring)) calc(-1 * var(--ring)) calc(-1 * var(--tip-room));padding:var(--ring) var(--ring) var(--tip-room);scrollbar-width:none}.clover-canvas-more-list[data-past]{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-padding-inline:var(--fade)}.clover-canvas-more-list::-webkit-scrollbar{display:none}.clover-canvas-more-list[data-past]{-webkit-mask-image:linear-gradient(to right,var(--left, #000),#000 var(--fade),#000 calc(100% - var(--fade)),var(--right, #000)),linear-gradient(#000,#000);mask-image:linear-gradient(to right,var(--left, #000),#000 var(--fade),#000 calc(100% - var(--fade)),var(--right, #000)),linear-gradient(#000,#000);-webkit-mask-position:0 0,0 100%;mask-position:0 0,0 100%;-webkit-mask-size:100% 100%,100% calc(var(--tip-room) - var(--ring));mask-size:100% 100%,100% calc(var(--tip-room) - var(--ring));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.clover-canvas-more-list[data-past~=left]{--left: transparent}.clover-canvas-more-list[data-past~=right]{--right: transparent}.clover-canvas-more-list>[data-partial]:not(:focus-visible){opacity:.25;pointer-events:none}.clover-canvas-more>.clover-canvas-more-step{position:absolute;top:50%;z-index:1;display:none;translate:0 -50%}.clover-canvas-more>.clover-canvas-more-step:not(:hover,:focus-visible){background-color:var(--clover-color-control, #1a1d1e);color:var(--clover-color-control-glyph, #fff)}.clover-canvas-more>[data-step=prev]{inset-inline-start:var(--tray)}.clover-canvas-more>[data-step=next]{inset-inline-end:calc(var(--tray) + var(--clover-control) + var(--clover-space-xs))}.clover-canvas-more:dir(ltr)>.clover-canvas-more-list[data-past~=left]~[data-step=prev],.clover-canvas-more:dir(ltr)>.clover-canvas-more-list[data-past~=right]~[data-step=next],.clover-canvas-more:dir(rtl)>.clover-canvas-more-list[data-past~=right]~[data-step=prev],.clover-canvas-more:dir(rtl)>.clover-canvas-more-list[data-past~=left]~[data-step=next]{display:flex}.clover-canvas-more-step:dir(rtl) svg{scale:-1 1}@media (hover: none){.clover-canvas-more-list[data-past]{--tip-room: var(--ring);pointer-events:var(--clover-controls-events)}:is(.clover-canvas-more-list[data-past],.clover-canvas-more-step) .clover-tip{display:none}}.clover-canvas>.clover-canvas-controls:has(>[data-button=panel]){padding-right:calc(var(--clover-control) + var(--clover-space-s))}.clover-canvas>.clover-canvas-controls>[data-button=panel]{position:absolute;top:0;right:0;--clover-controls-shown: 1;--clover-controls-events: auto}.clover-canvas>.clover-canvas-controls>:is([data-button=information],[data-button=annotations],[data-button=chapters],[data-button=placeholder]),.clover-canvas-transport-bar>[data-button=play]{--clover-controls-shown: 1;--clover-controls-events: auto}.clover-canvas:is([data-controls=visible],:has(:focus-visible,[aria-expanded=true]:not([data-button=panel])),:has(>.clover-canvas-controls>:not([data-button=panel],[data-button=information],[data-button=annotations],[data-button=placeholder]):hover,>.clover-canvas-navigator:hover,.clover-canvas-transport-seek-area:hover,.clover-canvas-transport-bar>:not([data-button=play]):hover)){--clover-controls-shown: 1;--clover-controls-events: auto;--clover-controls-timing: var(--clover-controls-enter)}.clover-canvas>.clover-canvas-controls>*,.clover-canvas>.clover-canvas-navigator,.clover-canvas>.clover-canvas-media>.clover-canvas-transport:before,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-seek-area,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-bar>*{opacity:var(--clover-controls-shown);translate:0 calc((1 - var(--clover-controls-shown)) * var(--clover-controls-edge, -1) * var(--clover-controls-tuck));transition:all var(--clover-controls-timing),z-index 0s}:where([data-high-contrast]) :is(.clover-canvas>.clover-canvas-controls>*,.clover-canvas>.clover-canvas-navigator,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-seek-area,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-bar>*){transition:opacity var(--clover-controls-timing),translate var(--clover-controls-timing),z-index 0s}.clover-canvas>.clover-canvas-controls>*,.clover-canvas>.clover-canvas-navigator,.clover-canvas-transport>.clover-canvas-transport-seek-area,.clover-canvas-transport-bar>*{pointer-events:var(--clover-controls-events)}@media (prefers-reduced-motion: reduce){.clover-canvas{--clover-controls-leave: 0s;--clover-controls-enter: 0s;--clover-controls-tuck: 0px}}.clover-canvas-navigator{position:absolute;z-index:2;top:var(--clover-canvas-controls-inset);left:var(--clover-canvas-controls-inset);width:calc(var(--clover-space-2xl) + var(--clover-space-xl));height:var(--clover-space-2xl);overflow:hidden;background-color:#000d;border-radius:var(--clover-radius, 3px);cursor:pointer;touch-action:none}.clover-canvas-navigator-image{position:absolute;inset:0;width:100%;height:100%}.clover-canvas-navigator-region{position:absolute;top:0;left:0;box-sizing:border-box;border:2px solid var(--clover-color-accent, #0065c3);pointer-events:none}.clover-canvas-viewport:focus-visible:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 0 2px var(--clover-color-primary, #1a1d1e),inset 0 0 0 5px var(--clover-color-accent, #0065c3),inset 0 0 0 7px var(--clover-color-secondary, #fff)}@media (forced-colors: active){.clover-canvas-viewport:focus-visible{outline:3px solid CanvasText;outline-offset:-3px}}.clover-canvas-caption{padding:var(--clover-space-m);outline:none;transform:translateY(calc(-1 * var(--clover-space-m)));opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility 0s linear .3s}.clover-canvas-caption[data-open=true]{transform:none;opacity:1;visibility:visible;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility 0s}.clover-canvas-caption:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}@media (prefers-reduced-motion: reduce){.clover-canvas-caption,.clover-canvas-caption[data-open=true]{transform:none;transition:none}}.clover-canvas-caption>button.clover-canvas-caption-close{float:right;margin:calc(-1 * var(--clover-space-2xs)) calc(-1 * var(--clover-space-2xs)) var(--clover-space-s) var(--clover-space-s)}.clover-canvas-caption-canvas+.clover-canvas-caption-canvas{margin-top:var(--clover-space-m);padding-top:var(--clover-space-m);border-top:1px solid var(--clover-color-secondary-muted, #e6e8eb)}.clover-canvas-caption .clover-canvas-caption-label{margin:0 0 var(--clover-space-s);font-size:inherit;font-weight:600}.clover-canvas-caption p{margin:0}.clover-canvas-caption .clover-read-more{margin-bottom:var(--clover-space-s)}.clover-canvas-caption a{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}.clover-canvas-caption-annotations{margin-top:var(--clover-space-s)}.clover-canvas-caption .clover-canvas-caption-annotations-label{margin-bottom:var(--clover-space-xs);font-weight:500}.clover-canvas-caption-annotations>ul{display:flex;flex-direction:column;gap:var(--clover-space-s);margin:0;padding:0;list-style:none}.clover-canvas-place{width:min(22rem,100%)}.clover-canvas-place .clover-geomap{--clover-map-height: 16rem;--clover-map-controls-top: calc( var(--clover-control) + var(--clover-space-s) )}.clover-canvas-place>button.clover-canvas-caption-close{position:absolute;z-index:3;top:calc(var(--clover-space-m) + var(--clover-inset));right:calc(var(--clover-space-m) + var(--clover-inset));float:none;margin:0}.clover-canvas-placeholder{position:absolute;inset:0;padding:var(--clover-canvas-inset);z-index:0;display:flex;align-items:center;justify-content:center;container-type:size;cursor:zoom-in}.clover-canvas-placeholder[data-lingering=true]{pointer-events:none}.clover-canvas-placeholder-frame{display:flex;width:min(100cqw,100cqh * var(--ratio));aspect-ratio:var(--ratio)}.clover-canvas-placeholder[data-vertical=true]>.clover-canvas-placeholder-frame{flex-direction:column}.clover-canvas-placeholder-frame>img{display:block;min-width:0;min-height:0;object-fit:contain;color:transparent}.clover-canvas-placeholder:not([data-vertical=true])>.clover-canvas-placeholder-frame>img{height:100%}.clover-canvas-placeholder[data-vertical=true]>.clover-canvas-placeholder-frame>img{width:100%}.clover-canvas[data-placeholder=true]>.clover-canvas-viewport{visibility:hidden}.clover-canvas>button.clover-canvas-placeholder-toggle{position:absolute;z-index:1;top:50%;right:50%;width:var(--clover-space-2xl);height:var(--clover-space-2xl);margin:0;transform:translate(50%,-50%);box-shadow:0 4px 16px #0003;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}.clover-canvas>button.clover-canvas-placeholder-toggle svg{width:calc(var(--clover-space-2xl) / (1 + 2 * .618));height:calc(var(--clover-space-2xl) / (1 + 2 * .618))}.clover-canvas-placeholder[data-media=true]{cursor:pointer}.clover-canvas[data-placeholder=true][data-recording]:has(>.clover-canvas-placeholder[data-media=true]:hover)>button.clover-canvas-placeholder-toggle{background-color:var(--clover-color-accent, #0065c3)}:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-recording]>button.clover-canvas-placeholder-toggle:is(:hover,:focus-visible),:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-recording]:has(>.clover-canvas-placeholder[data-media=true]:hover)>button.clover-canvas-placeholder-toggle{background-color:var(--clover-accent-fill)}:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-recording]>button.clover-canvas-placeholder-toggle:hover:not(:focus-visible),:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-recording]:has(>.clover-canvas-placeholder[data-media=true]:hover)>button.clover-canvas-placeholder-toggle:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}.clover-canvas[data-placeholder=true]>.clover-canvas-controls>*{--clover-controls-shown: 1;--clover-controls-events: auto}@media (prefers-reduced-motion: reduce){.clover-canvas>button.clover-canvas-placeholder-toggle{transition:none}}:is(.clover-canvas-caption,.clover-canvas-menu){position:absolute;z-index:2;box-sizing:border-box;min-width:12rem;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--clover-radius, 6px);background:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e);box-shadow:0 4px 16px #0001}.clover-canvas>:is(.clover-canvas-caption,.clover-canvas-menu){--top: calc( var(--clover-canvas-controls-inset) + var(--clover-canvas-controls-height, var(--clover-control)) + var(--clover-space-s) );top:var(--top);right:var(--clover-canvas-controls-inset);max-width:min(22rem,calc(100% - 2 * var(--clover-canvas-controls-inset)));max-height:calc(100% - var(--top) - var(--clover-canvas-controls-inset))}.clover-canvas[data-recording]>:is(.clover-canvas-caption,.clover-canvas-menu){max-height:max(calc(100% - var(--top) - var(--clover-transport-room)),min(2 * var(--clover-space-2xl),calc(100% - var(--top) - var(--clover-canvas-controls-inset))))}.clover-canvas[data-popups=beside]>:is(.clover-canvas-caption,.clover-canvas-menu){--top: var(--clover-canvas-controls-inset);right:calc(var(--clover-canvas-controls-inset) + var(--clover-canvas-controls-width, var(--clover-control)) + var(--clover-space-s));left:var(--clover-canvas-controls-inset);min-width:0;max-width:none}.clover-canvas[data-popups=beside][data-exit]>:is(.clover-canvas-caption,.clover-canvas-menu){--top: calc( var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-s) )}.clover-canvas:has(>:is(.clover-canvas-caption[data-open=true],.clover-canvas-menu))>.clover-canvas-navigator{opacity:0;visibility:hidden}.clover-canvas-menu{padding:var(--clover-space-xs)}.clover-canvas-menu fieldset{margin:0;padding:0;border:0}.clover-canvas-menu fieldset+fieldset{margin-top:var(--clover-space-s)}.clover-canvas-menu legend{padding:var(--clover-space-2xs) var(--clover-space-s);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-canvas-menu label{display:flex;align-items:center;gap:var(--clover-space-xs);padding:var(--clover-space-xs) var(--clover-space-s);border-radius:var(--clover-radius, 6px);cursor:pointer}.clover-canvas-menu label:hover,.clover-canvas-menu label[data-active=true]{background:var(--clover-color-secondary-muted, #e6e8eb)}.clover-canvas-menu label[data-disabled]{cursor:default;opacity:.38;pointer-events:none}.clover-canvas-menu input{margin:0;accent-color:var(--clover-color-accent, #0065c3)}.clover-canvas-menu .clover-canvas-chapters-item{flex-wrap:wrap;align-items:baseline}.clover-canvas-chapters-item>.clover-cue-time{color:var(--clover-color-primary-muted, #26292b);font-variant-numeric:tabular-nums}@media (forced-colors: none){.clover-canvas-menu .clover-canvas-chapters-item:has(input:checked){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 8%,transparent)}}.clover-canvas-chapters-item:has(input:checked){font-weight:600}.clover-canvas-chapters-item>.clover-entry-thumbnail{flex-basis:100%}.clover-canvas-menu-image{flex:none;width:auto;height:var(--clover-space-xl);border-radius:var(--clover-radius, 3px)}}');i(17,"styles-2",'@layer clover{.clover-canvas-controls{--top: var(--clover-canvas-controls-inset);position:absolute;z-index:1;top:var(--top);right:var(--clover-canvas-controls-inset);display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end;gap:var(--clover-space-s);max-height:calc(100% - var(--top) - var(--clover-canvas-controls-inset))}:is(button.clover-canvas-button,button.clover-canvas-transport-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close){display:flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-control);height:var(--clover-control);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-control, #1a1d1e);color:var(--clover-color-control-glyph, #fff);cursor:pointer;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}:is(button.clover-canvas-button,button.clover-canvas-transport-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close) svg{flex-shrink:0;width:1rem;height:1rem;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}button.clover-canvas-button svg{fill:currentColor;stroke:currentColor}:is(button.clover-canvas-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close):is(:hover,:focus-visible){background-color:var(--clover-color-accent, #0065c3)}:where([data-high-contrast]) :is(button.clover-canvas-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close):is(:hover,:focus-visible){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) :is(button.clover-canvas-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close):hover:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-canvas-transport-button)[aria-disabled=true]{cursor:default}:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-canvas-transport-button)[aria-disabled=true] svg{opacity:.5}:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-canvas-transport-button)[aria-disabled=true]:not(:focus-visible),:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next):disabled{opacity:.38;pointer-events:none}button.clover-canvas-button:is([data-button=rotate-right],[data-button=rotate-left]):is(:hover,:focus-visible) svg{rotate:45deg}button.clover-canvas-button[data-button=rotate-left] svg{scale:-1 1}button.clover-canvas-button[data-button=rotate-left]:is(:hover,:focus-visible) svg{rotate:-45deg}button.clover-canvas-button[data-button=reset]:is(:hover,:focus-visible) svg{rotate:-15deg}@media (prefers-reduced-motion: reduce){:is(button.clover-canvas-button,button.clover-canvas-transport-button) svg{transition:none}}:where(:has(>.clover-tip)){position:relative}.clover-tip{position:absolute;z-index:4;bottom:calc(100% + var(--clover-space-xs));left:50%;translate:-50% 0;display:block;padding:var(--clover-space-2xs) var(--clover-space-xs);border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-primary, #1a1d1e);color:var(--clover-color-secondary, #fff);font-size:var(--clover-text-s);font-weight:400;box-sizing:border-box;width:max-content;max-width:var(--clover-tip-room, none);white-space:normal;overflow-wrap:anywhere;transform:translate(var(--clover-tip-shift, 0px));pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility 0s linear .12s}:is(.clover-tip-image,.clover-annotations-image){display:block;width:auto;max-width:100%;height:auto;max-height:var(--clover-items-height, 8rem)}.clover-tip-image{margin-block-end:var(--clover-space-xs);border-radius:calc(var(--clover-radius, 3px) / 2)}.clover-tip-lead{display:block;color:var(--clover-color-secondary, #fff);font-weight:600;font-variant-numeric:tabular-nums}.clover-tip:has(>.clover-tip-lead){color:var(--clover-color-secondary-alt, #c1c8cd)}.clover-tip:before{position:absolute;inset-inline:0;top:100%;height:var(--clover-space-xs);content:""}:hover>.clover-tip{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.4s}:focus-visible>.clover-tip,label:has(>input:focus-visible):not([data-tip-hidden])>.clover-tip{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}[data-tip-hidden]>.clover-tip{opacity:0;transition:none;pointer-events:none}:is(.clover-canvas-controls,.clover-panel,.clover-template-document-toolbar,.clover-template-lightbox-header) .clover-tip,button.clover-canvas-placeholder-toggle>.clover-tip,button.clover-canvas-caption-close>.clover-tip,button.clover-template-document-sidebar-toggle>.clover-tip,:is(.clover-template-spine,.clover-template-document-spine) .clover-tip{top:calc(100% + var(--clover-space-xs));bottom:auto}:is(.clover-canvas-controls,.clover-panel,.clover-template-document-toolbar,.clover-template-lightbox-header) .clover-tip:before,button.clover-canvas-placeholder-toggle>.clover-tip:before,button.clover-canvas-caption-close>.clover-tip:before,button.clover-template-document-sidebar-toggle>.clover-tip:before,:is(.clover-template-spine,.clover-template-document-spine) .clover-tip:before{top:auto;bottom:100%}:is(.clover-canvas-transport-bar,.clover-template-document-toolbar)>:first-child .clover-tip,button.clover-items-scroll-prev>.clover-tip,button.clover-sections-scroll-prev>.clover-tip,button.clover-canvas-more-step[data-step=prev]>.clover-tip,.clover-transcript-languages>.clover-transcript-language>.clover-tip,.clover-template-document-sidebar-closed>button.clover-template-document-sidebar-toggle>.clover-tip,.clover-panel[data-floating]>button.clover-panel-close>.clover-tip{inset-inline:0 auto;translate:none}:is(.clover-canvas-transport-end,.clover-template-lightbox-header)>:last-child .clover-tip,.clover-canvas-controls>button:last-of-type>.clover-tip,button.clover-canvas-caption-close>.clover-tip,button.clover-items-scroll-next>.clover-tip,button.clover-sections-scroll-next>.clover-tip,button.clover-canvas-more-step[data-step=next]>.clover-tip,button.clover-canvas-placeholder-toggle>.clover-tip,.clover-panel:not([data-floating])>button.clover-panel-close>.clover-tip,.clover-sections-actions .clover-transcript-languages>.clover-transcript-language>.clover-tip{inset-inline:auto 0;translate:none}:is(button,a).clover-canvas-annotation>.clover-tip{text-align:start;--clover-tip-top: var(--clover-canvas-clear-top, var(--clover-space-xs));--clover-tip-bottom: var( --clover-canvas-clear-bottom, var(--clover-space-xs) );--clover-tip-x: clamp( var(--clover-space-xs) - var(--clover-overlay-x, 50cqw), -50%, 100cqw - var(--clover-space-xs) - var(--clover-overlay-x, 50cqw) - 100% );top:100%;bottom:auto;max-width:min(18rem,100cqw - 2 * var(--clover-space-xs));max-height:max(100cqh - var(--clover-tip-top) - var(--clover-tip-bottom),min(2 * var(--clover-space-2xl),100cqh - 2 * var(--clover-space-xs)));overflow-y:auto;border:solid transparent;border-width:var(--clover-space-xs) 0 0;background-clip:padding-box;translate:var(--clover-tip-x) 0;transform:none}:is(button,a).clover-canvas-annotation>.clover-tip:before{content:none}:is(button,a).clover-canvas-annotation[data-active=true][aria-current=true]:not([data-tip-hidden])>.clover-tip{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}:is(button,a).clover-canvas-annotation[data-overlay-room=below]>.clover-tip{top:100%;translate:var(--clover-tip-x) clamp(var(--clover-tip-top) - var(--clover-space-xs) - var(--clover-overlay-bottom),0px,100cqh - var(--clover-overlay-bottom) - var(--clover-tip-bottom) - 100%)}:is(button,a).clover-canvas-annotation[data-overlay-room=above]>.clover-tip{top:auto;bottom:100%;border-width:0 0 var(--clover-space-xs);translate:var(--clover-tip-x) clamp(100% + var(--clover-tip-top) - var(--clover-overlay-top),0px,100cqh + var(--clover-space-xs) - var(--clover-tip-bottom) - var(--clover-overlay-top))}.clover-split-handle>.clover-tip{top:50%;bottom:auto;inset-inline:calc(100% + var(--clover-space-xs)) auto;translate:0 -50%;cursor:default}.clover-split-handle>.clover-tip:before{inset-block:0;inset-inline:auto 100%;width:var(--clover-space-xs);height:auto}@media (prefers-reduced-motion: reduce){.clover-tip{transition:none}}@media (forced-colors: active){.clover-tip{outline:1px solid CanvasText}}.clover-tip-after{margin-inline-start:var(--clover-space-xs);font-size:var(--clover-text-xs);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}label.clover-hide{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);gap:0;padding:0;border-radius:50%;color:var(--clover-color-primary-muted, #26292b);cursor:pointer}label.clover-hide svg{width:var(--clover-text-s);height:var(--clover-text-s)}label.clover-hide:is(:hover,:has(input:focus-visible)){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) label.clover-hide:is(:hover,:has(input:focus-visible)){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) label.clover-hide:hover:not(:has(input:focus-visible)){outline:var(--clover-accent-ring-hover);outline-offset:1px}label.clover-hide:has(input:focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}label.clover-hide input{position:absolute;margin:0;opacity:0;pointer-events:none}@media (forced-colors: active){label.clover-hide:is(:hover,:has(input:focus-visible)){background-color:Highlight;color:HighlightText}}button.clover-sections-button{display:flex;align-items:center;gap:var(--clover-space-xs);margin:0;padding:var(--clover-space-xs) var(--clover-space-s);border:0;background:none;color:var(--clover-color-primary-muted, #26292b);font-weight:600;text-align:start;cursor:pointer}.clover-sections-panel{outline:none}.clover-sections-panel:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3)}.clover-sections[data-layout=tabs] .clover-sections-tabs{--clover-sections-fade: calc(var(--clover-space-l) + var(--clover-space-s));border-bottom:1px solid var(--clover-color-secondary-muted, #e6e8eb)}.clover-sections[data-layout=tabs] .clover-sections-row{position:relative}.clover-sections[data-layout=tabs] .clover-sections-list{display:flex;flex-wrap:nowrap;gap:var(--clover-space-2xs);scroll-padding-inline:var(--clover-sections-fade);scrollbar-width:none}.clover-sections[data-layout=tabs] .clover-sections-list::-webkit-scrollbar{display:none}.clover-sections[data-layout=tabs] button.clover-sections-button{flex:none;border-bottom:2px solid transparent;white-space:nowrap}.clover-sections-tabs[data-more=end] .clover-sections-list{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more=start] .clover-sections-list{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more="start end"] .clover-sections-list{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--clover-sections-fade),#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--clover-sections-fade),#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more=end]:dir(rtl) .clover-sections-list{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more=start]:dir(rtl) .clover-sections-list{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs :is(button.clover-sections-scroll-prev,button.clover-sections-scroll-next){position:absolute;top:50%;z-index:1;translate:0 -50%}.clover-sections-tabs :is(button.clover-sections-scroll-prev,button.clover-sections-scroll-next):not(:hover,:focus-visible){background-color:var(--clover-color-secondary, #fff)}:is(button.clover-sections-scroll-prev,button.clover-sections-scroll-next)[hidden]{display:none}button.clover-sections-scroll-prev{inset-inline-start:0}button.clover-sections-scroll-next{inset-inline-end:0}:is(button.clover-sections-scroll-prev,button.clover-sections-scroll-next):dir(rtl) svg{scale:-1 1}.clover-sections[data-layout=tabs] button.clover-sections-button[aria-selected=true]{border-bottom-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-primary, #1a1d1e)}.clover-sections[data-layout=tabs] .clover-sections-panel{padding-top:var(--clover-space-m)}.clover-sections[data-layout=accordion]{--clover-sections-step: calc( 1lh + var(--clover-space-s) + 2 * var(--clover-space-2xs) + 3px );--clover-sections-total: calc( var(--clover-sections-count) * var(--clover-sections-step) );display:flex;flex-direction:column}.clover-sections[data-layout=accordion] .clover-sections-item{display:contents;--clover-sections-before: calc( var(--clover-sections-index) * var(--clover-sections-step) );--clover-sections-after: calc( var(--clover-sections-total) - var(--clover-sections-before) - var(--clover-sections-step) )}.clover-sections-heading{margin:0;font-size:inherit}.clover-sections[data-layout=accordion] .clover-sections-heading{position:sticky;font-size:var(--clover-text-m);z-index:1;top:calc(var(--clover-sections-inset-start, 0px) + var(--clover-sections-before));bottom:calc(var(--clover-sections-inset-end, 0px) + var(--clover-sections-after));padding-bottom:3px;background-color:var(--clover-color-secondary, #fff)}.clover-sections[data-layout=accordion] .clover-sections-panel *{scroll-margin-block:calc(var(--clover-sections-inset-start, 0px) + var(--clover-sections-total) - var(--clover-sections-after)) calc(var(--clover-sections-inset-end, 0px) + var(--clover-sections-after))}.clover-sections[data-layout=accordion][data-stacks=off] .clover-sections-heading{position:relative;inset-block:auto}.clover-sections[data-layout=accordion][data-stacks=off] .clover-sections-panel *{scroll-margin-block:0}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-sections-heading{position:relative;inset-block:auto}.clover-sections[data-layout=accordion] .clover-sections-panel *{scroll-margin-block:0}}.clover-sections[data-layout=accordion]>*+*>.clover-sections-heading{padding-top:var(--clover-space-2xs)}.clover-sections[data-layout=accordion]>[data-open=true]+*>.clover-sections-heading{padding-top:var(--clover-space-s)}.clover-sections-reach{position:absolute;inset-block:0;inset-inline:calc(-1 * var(--clover-sections-gutter, 0px));z-index:-1}.clover-sections[data-layout=accordion]>:first-child>.clover-sections-heading:before,.clover-sections[data-layout=accordion]>:last-child:not([data-open=true])>.clover-sections-heading:after{content:"";position:absolute;inset-inline:0;background-color:inherit}.clover-sections[data-layout=accordion]>:first-child>.clover-sections-heading:before{bottom:100%;height:var(--clover-sections-inset-start, 0px)}.clover-sections[data-layout=accordion]>:last-child:not([data-open=true])>.clover-sections-heading:after{top:100%;height:var(--clover-sections-inset-end, 0px)}@supports (animation-timeline: scroll()){.clover-sections[data-layout=accordion]>[data-open=true]>.clover-sections-heading>button:after,.clover-sections[data-layout=accordion]>[data-open=true]+*>.clover-sections-heading>button:before{content:"";position:absolute;inset-inline:0;height:var(--clover-space-xs);background:linear-gradient(var(--clover-sections-shade),rgb(0 0 0 / .05),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-m),#000 calc(100% - var(--clover-space-m)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-m),#000 calc(100% - var(--clover-space-m)),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:scroll()}.clover-sections[data-layout=accordion]>[data-open=true]>.clover-sections-heading>button:after{--clover-sections-shade: to bottom;top:calc(100% + 3px);animation-range:0 var(--clover-space-m)}.clover-sections[data-layout=accordion]>[data-open=true]+*>.clover-sections-heading>button:before{--clover-sections-shade: to top;bottom:calc(100% + var(--clover-space-s));animation-direction:reverse;animation-range:calc(100% - var(--clover-space-m)) 100%}}@keyframes clover-shade{0%{opacity:0}to{opacity:1}}.clover-sections[data-layout=accordion] button.clover-sections-button{position:relative;justify-content:space-between;width:100%;padding:var(--clover-space-s) var(--clover-space-s) var(--clover-space-2xs);padding-inline-end:calc(var(--clover-space-s) + var(--clover-sections-actions, 0px));border-radius:inherit;color:var(--clover-color-primary, #1a1d1e)}.clover-sections[data-layout=accordion] .clover-sections-actions{--clover-sections-own: calc( var(--clover-sections-total) - var(--clover-sections-before) - var(--clover-sections-after) );position:sticky;z-index:2;top:calc(var(--clover-sections-inset-start, 0px) + var(--clover-sections-before));bottom:calc(var(--clover-sections-inset-end, 0px) + var(--clover-sections-after));display:flex;align-items:center;align-self:flex-end;box-sizing:border-box;height:var(--clover-sections-own);margin-top:calc(-1 * var(--clover-sections-own));padding:var(--clover-space-s) var(--clover-space-s) calc(var(--clover-space-2xs) + 3px);font-size:var(--clover-text-m);pointer-events:none}.clover-sections[data-layout=accordion]>*+*>.clover-sections-actions{padding-top:calc(var(--clover-space-2xs) + var(--clover-space-s))}.clover-sections-actions>*{pointer-events:auto}.clover-sections[data-layout=accordion] .clover-sections-actions:is(:empty,[hidden]){display:none}.clover-sections[data-layout=accordion][data-stacks=off] .clover-sections-actions{position:relative;inset-block:auto}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-sections-actions{position:relative;inset-block:auto}}.clover-sections[data-layout=accordion] .clover-sections-label{overflow-wrap:anywhere}.clover-sections[data-layout=accordion] .clover-sections-label:after{content:"";position:absolute;inset-inline:var(--clover-space-s);bottom:-3px;height:3px;background-color:color-mix(in srgb,var(--clover-color-secondary-alt, #c1c8cd) 50%,transparent)}.clover-sections[data-layout=accordion] [aria-expanded=false]:hover>.clover-sections-label:after{background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 50%,transparent)}.clover-sections[data-layout=accordion] [aria-expanded=true]>.clover-sections-label:after{background-color:var(--clover-color-accent, #0065c3)}@media (forced-colors: active){.clover-sections[data-layout=accordion] .clover-sections-label:after{background-color:CanvasText}.clover-sections[data-layout=accordion] [aria-expanded=true]>.clover-sections-label:after{background-color:Highlight}}.clover-sections[data-layout=accordion] button.clover-sections-button[aria-disabled]{background:none;cursor:default}.clover-sections[data-layout=accordion] button.clover-sections-button[aria-disabled=true] .clover-sections-chevron{color:var(--clover-color-accent, #0065c3)}.clover-sections[data-layout=accordion] .clover-sections-item[data-actions] .clover-sections-chevron{position:absolute;inset-inline-end:var(--clover-space-s)}.clover-sections[data-layout=accordion] .clover-sections-item[data-actions] .clover-sections-actions{padding-inline-end:calc(var(--clover-space-s) + var(--clover-chevron) + var(--clover-space-m))}.clover-sections[data-layout=accordion] .clover-sections-panel{isolation:isolate;margin-bottom:var(--clover-space-2xs);padding:var(--clover-space-m) var(--clover-space-s)}.clover-read-more{display:flex;flex-direction:column;align-items:flex-start;gap:var(--clover-space-xs);min-width:0}button.clover-read-more-button{margin:0;padding:0;border:0;background:none;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font-size:var(--clover-text-s);text-decoration:underline 1px;text-decoration-color:color-mix(in srgb,currentColor 20%,transparent);text-underline-offset:var(--clover-space-3xs);cursor:pointer}button.clover-read-more-button:hover{text-decoration-color:currentColor}button.clover-read-more-button:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px;border-radius:var(--clover-radius, 3px)}.clover-field-pill{display:flex;align-items:center;gap:var(--clover-space-2xs);box-sizing:border-box;padding:var(--clover-space-3xs);padding-inline-start:var(--clover-space-s);border:1px solid var( --clover-field-edge, color-mix( in srgb, var(--clover-color-primary-muted, #26292b) 80%, var(--clover-color-secondary, #fff) ) );border-radius:calc(var(--clover-radius-pill, 2rem) + var(--clover-space-3xs) + 1px);background-color:var(--clover-color-secondary, #fff);box-shadow:0 1px 2px #0000000a,0 2px 8px #0000000f;transition:box-shadow .16s}.clover-field-pill:hover{box-shadow:0 1px 2px #0000000f,0 4px 14px #00000014}.clover-field-pill:has(.clover-field-pill-query:focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}.clover-field-pill .clover-field-pill-query{flex:1 1 auto;min-width:0;padding:var(--clover-space-2xs) 0;border:0;border-radius:0;background:transparent;outline:none}.clover-field-pill-query::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}button.clover-field-pill-clear{position:relative;display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background-color:transparent;color:var(--clover-color-primary-muted, #26292b);cursor:pointer;transition:background-color .12s,color .12s}button.clover-field-pill-clear:is(:hover,:focus-visible){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 12%,transparent);color:var(--clover-color-primary, #1a1d1e)}button.clover-field-pill-clear:active{background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 22%,transparent)}button.clover-field-pill-clear:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}@media (forced-colors: active){button.clover-field-pill-clear:is(:hover,:focus-visible){background-color:Highlight;color:HighlightText}}@supports not selector(:has(*)){.clover-field-pill .clover-field-pill-query:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3)}}button.clover-field-pill-submit{position:relative;display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-control);height:var(--clover-control);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff);cursor:pointer;transition:background-color .12s}button.clover-field-pill-submit svg{width:1rem;height:1rem;transition:scale .12s}.clover-field-pill[data-size=small] button.clover-field-pill-submit{width:var(--clover-space-l);height:var(--clover-space-l)}.clover-field-pill[data-size=small] button.clover-field-pill-submit svg{width:.875rem;height:.875rem}.clover-field-pill[data-size=small] .clover-field-pill-query{padding-block:0}button.clover-field-pill-submit:is(:hover,:focus-visible){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 85%,var(--clover-color-primary, #1a1d1e))}:where([data-high-contrast]) button.clover-field-pill-submit,:where([data-high-contrast]) button.clover-field-pill-submit:is(:hover,:focus-visible){background-color:var(--clover-accent-fill);transition:none}:where([data-high-contrast]) button.clover-field-pill-submit:hover:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}button.clover-field-pill-submit:is(:hover,:focus-visible) svg{scale:1.1}button.clover-field-pill-submit:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}@media (forced-colors: active){button.clover-field-pill-submit{border:1px solid ButtonText}}@media (prefers-reduced-motion: reduce){.clover-field-pill,button.clover-field-pill-clear,button.clover-field-pill-submit,button.clover-field-pill-submit svg{transition:none}}.clover-field-pill>.clover-steps,.clover-field-pill-note{flex:none;margin-inline-end:var(--clover-space-2xs)}.clover-field-pill-note{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-xs);font-weight:600;white-space:nowrap}.clover-steps{display:flex;flex:none;align-items:center;gap:var(--clover-space-2xs);font-size:var(--clover-text-xs);line-height:1}.clover-steps-position{display:inline-grid;justify-items:end;margin-inline-end:var(--clover-space-2xs);color:var(--clover-color-primary-muted, #26292b);font-variant-numeric:tabular-nums;font-weight:600}.clover-steps-position>[aria-hidden]{grid-area:1 / 1}.clover-steps-position>.clover-steps-room[hidden]{display:block;visibility:hidden}button.clover-steps-step{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background:none;color:var(--clover-color-primary-muted, #26292b);cursor:pointer}button.clover-steps-step:is(:hover,:focus-visible):not([aria-disabled=true]){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) button.clover-steps-step:is(:hover,:focus-visible):not([aria-disabled=true]){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) button.clover-steps-step:hover:not(:focus-visible,[aria-disabled=true]){outline:var(--clover-accent-ring-hover);outline-offset:1px}button.clover-steps-step:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}button.clover-steps-step[aria-disabled=true]{cursor:default}button.clover-steps-step[aria-disabled=true] svg{opacity:.5}button.clover-steps-step[aria-disabled=true]:not(:focus-visible){opacity:.38;pointer-events:none}@media (forced-colors: active){button.clover-steps-step[aria-disabled=true]{color:GrayText}}.clover-entry-thumbnail{flex:none;width:var(--clover-space-l);height:var(--clover-space-l);object-fit:cover;border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-secondary-muted, #e6e8eb)}.clover-entry-thumbnail[data-large]{grid-column:1 / -1;width:var(--clover-picture);max-width:100%;height:auto}.clover-cue-time{flex:none;min-width:var(--clover-space-l);align-self:baseline;color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-variant-numeric:tabular-nums}.clover-cue-text{align-self:baseline;min-width:0}:is(.clover-transcript-languages,.clover-annotations-languages,.clover-about-languages){display:flex;flex-wrap:wrap;gap:var(--clover-space-2xs);margin:0;padding:0;border:0;font-size:var(--clover-text-xs);line-height:1}.clover-transcript-languages>.clover-transcript-language,.clover-annotations-languages>.clover-annotations-language,.clover-about-languages>.clover-about-language{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--clover-space-l);min-height:var(--clover-space-l);padding:0 var(--clover-space-xs);border-radius:var(--clover-radius-pill, 2rem);color:var(--clover-color-primary-muted, #26292b);font-weight:600;cursor:pointer}:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):is(:has(input:checked),:hover,:has(input:focus-visible)){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) :is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):is(:has(input:checked),:hover,:has(input:focus-visible)){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) :is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):hover:not(:has(input:checked),:has(input:focus-visible)){outline:var(--clover-accent-ring-hover);outline-offset:1px}:where([data-high-contrast]) :is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):has(input:checked):not(:has(input:focus-visible)){outline:var(--clover-accent-ring);outline-offset:1px}:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):has(input:focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language) input{position:absolute;opacity:0;pointer-events:none}@media (forced-colors: active){:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):has(input:checked){background-color:Highlight;color:HighlightText}}.clover-summary:not([data-read-more=open]){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--clover-summary-lines, 5);overflow:hidden}:is(.clover-metadata,.clover-required-statement){display:flex;flex-direction:column;gap:var(--clover-space-s);margin:0}:is(.clover-metadata,.clover-required-statement) dt{margin:0;font-weight:500}:is(.clover-metadata,.clover-required-statement) dd{margin:0}.clover-summary,:is(.clover-metadata,.clover-required-statement) :is(dt,dd){overflow-wrap:anywhere}:is(.clover-about,.clover-canvas-caption,.clover-annotations-body,.clover-metadata,.clover-required-statement,.clover-summary) a:not([class]){text-decoration-line:underline;text-underline-offset:var(--clover-space-3xs)}:is(.clover-homepage,.clover-rendering,.clover-see-also,.clover-part-of)>li{min-block-size:24px}:is(.clover-homepage,.clover-rendering,.clover-see-also,.clover-part-of) a,a:is(.clover-id,.clover-rights){color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere;text-decoration-line:underline;text-underline-offset:var(--clover-space-3xs)}.clover-link-format{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-provider{display:flex;flex-wrap:wrap;gap:var(--clover-space-s) var(--clover-space-m);margin:0;padding:0;list-style:none}.clover-provider:empty{display:none}.clover-provider-agent{display:flex;align-items:center;min-block-size:24px}.clover-provider-link,.clover-provider-content{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-s)}.clover-provider-link{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere;text-decoration-line:underline;text-underline-offset:var(--clover-space-3xs)}.clover-logo{display:block;width:auto;max-width:100%;height:var(--clover-logo-height, 1.618rem);object-fit:contain}.clover-label{text-wrap:balance}.clover-status{margin:0;padding:var(--clover-space-m);color:var(--clover-color-primary-muted, #26292b)}.clover-status[data-status=loading]{display:flex}.clover-status[data-status=error] p{margin:0}.clover-status-detail{font-size:var(--clover-text-s)}.clover-items{--clover-items-ring-room: 4px;--clover-items-picture-height: var(--clover-items-height, 8rem);color:var(--clover-color-primary, #1a1d1e)}.clover-items-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--clover-space-xs) var(--clover-space-m);margin-bottom:var(--clover-space-s)}.clover-items-description{flex:1 0 100%;order:3;margin:0;color:var(--clover-color-primary-muted, #26292b)}.clover-items-homepage{margin-inline-start:auto;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}.clover-items-track{margin:0;padding:0;list-style:none;gap:var(--clover-items-gap, var(--clover-space-m))}.clover-items-viewport{margin:calc(-1 * var(--clover-items-ring-room));padding:var(--clover-items-ring-room);scroll-padding-inline:var(--clover-items-ring-room);scrollbar-width:none}.clover-items-viewport::-webkit-scrollbar{display:none}.clover-items-viewport[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}@supports (timeline-scope: --clover-items-track){.clover-items[data-layout=slider] .clover-items-frame{timeline-scope:--clover-items-track}.clover-items[data-layout=slider] .clover-items-viewport{scroll-timeline:--clover-items-track inline}.clover-items[data-layout=slider] .clover-items-frame:before,.clover-items[data-layout=slider] .clover-items-frame:after{content:"";position:absolute;top:var(--clover-items-ring-room);z-index:1;width:var(--clover-space-s);height:var(--clover-items-picture-height);background:linear-gradient(var(--clover-items-shade),rgb(0 0 0 / .16),transparent);-webkit-mask-image:linear-gradient(transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);mask-image:linear-gradient(transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:--clover-items-track}.clover-items[data-layout=slider] .clover-items-frame:before{--clover-items-shade: to right;left:calc(-1 * var(--clover-items-ring-room));animation-range:0 var(--clover-space-m)}.clover-items[data-layout=slider] .clover-items-frame:after{--clover-items-shade: to left;right:calc(-1 * var(--clover-items-ring-room));animation-direction:reverse;animation-range:calc(100% - var(--clover-space-m)) 100%}.clover-items[data-layout=slider] .clover-items-frame[dir=rtl]:before{--clover-items-shade: to left;right:calc(-1 * var(--clover-items-ring-room));left:auto}.clover-items[data-layout=slider] .clover-items-frame[dir=rtl]:after{--clover-items-shade: to right;left:calc(-1 * var(--clover-items-ring-room));right:auto}}.clover-items[data-layout=list] .clover-items-track{display:flex;flex-direction:column}.clover-items:is([data-layout=grid],[data-layout=masonry]) .clover-items-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--clover-items-size, 10rem)),1fr))}.clover-items-item{position:relative;cursor:pointer}.clover-items-link{display:block;color:inherit;text-decoration:none}:is(.clover-items-item[role=option],.clover-items-link){margin:calc(-1 * var(--clover-items-ring-room));padding:var(--clover-items-ring-room);outline:none}.clover-items:not([data-layout=slider]) :is(.clover-items-viewport,.clover-items-item[role=option],.clover-items-link){margin-inline:0;padding-inline:0}.clover-items-figure{display:grid;grid-template-columns:repeat(var(--parts, 1),auto);justify-content:start;gap:var(--clover-space-xs) 0;margin:0}.clover-items-pictures{position:relative;display:grid;grid-column:1 / -1;grid-template-columns:subgrid;border-radius:var(--clover-radius, 3px);outline:3px solid var(--ring-color, transparent);outline-offset:1px;transition:outline-color .2s cubic-bezier(.16,1,.3,1)}.clover-items-picture{position:relative;display:block;overflow:hidden;background-color:var(--clover-color-secondary-muted, #f1f1f1)}.clover-items-picture img{display:block;opacity:0;transition:opacity .3s ease}.clover-items-picture[data-loaded=true] img{opacity:1}.clover-items-picture[data-empty]{display:grid;place-items:center;aspect-ratio:var(--clover-items-ratio, 1);color:var(--clover-color-primary-muted, #26292b)}.clover-items-picture[data-empty]>svg{width:33%;max-width:var(--clover-space-xl);height:auto;fill:currentColor}.clover-items-pictures>.clover-items-picture:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.clover-items-pictures>.clover-items-picture:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.clover-items-duration{position:absolute;inset-inline-end:var(--clover-space-xs);bottom:var(--clover-space-xs);padding:var(--clover-space-3xs) var(--clover-space-xs);border-radius:var(--clover-radius, 3px);background-color:#000000b8;color:#fff;font-size:var(--clover-text-xs);font-variant-numeric:tabular-nums}.clover-items-caption{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;gap:var(--clover-space-3xs) 0;font-size:var(--clover-text-s)}.clover-items-label{position:relative;contain:inline-size}.clover-items:is([data-layout=slider],[data-layout=grid],[data-layout=masonry]) .clover-items-label-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--clover-items-lines, 3);line-clamp:var(--clover-items-lines, 3)}.clover-items-label-full{position:absolute;inset-inline:0;bottom:0;z-index:1;padding-block-start:var(--clover-space-2xs);background-color:var(--clover-color-secondary, #fff);box-shadow:0 calc(-1 * var(--clover-space-2xs)) var(--clover-space-s) #00000029;pointer-events:none}:is(.clover-items-item[role=option],.clover-items-link):is(:hover,:focus-visible):not([data-full-hidden]) .clover-items-label[data-clamped]>.clover-items-label-full{display:block}@media (forced-colors: active){.clover-items-label-full{border:1px solid CanvasText}}.clover-items-date{grid-column:1 / -1;color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-xs)}.clover-items-summary{grid-column:1 / -1;color:var(--clover-color-primary-muted, #26292b)}.clover-items[data-layout=slider] .clover-items-picture[data-empty],.clover-items[data-layout=slider] .clover-items-picture img{width:auto;height:var(--clover-items-picture-height)}.clover-items:is([data-layout=grid],[data-layout=masonry]) .clover-items-figure{grid-template-columns:repeat(var(--parts, 1),1fr)}.clover-items:is([data-layout=grid],[data-layout=masonry]) .clover-items-pictures{aspect-ratio:1;overflow:hidden}.clover-items:is([data-layout=grid],[data-layout=masonry]) .clover-items-picture{min-width:0}.clover-items:is([data-layout=grid],[data-layout=masonry]) .clover-items-picture img{width:100%;height:100%;object-fit:contain}.clover-items[data-layout=masonry] .clover-items-track{grid-auto-rows:4px;row-gap:0;align-items:start}.clover-items[data-layout=masonry] .clover-items-pictures{aspect-ratio:auto}.clover-items[data-layout=masonry] .clover-items-picture img{height:auto}.clover-items[data-layout=list] .clover-items-figure{grid-template-columns:auto 1fr;align-items:start;gap:0 var(--clover-space-s)}.clover-items[data-layout=list] .clover-items-pictures{grid-column:1;grid-template-columns:repeat(var(--parts, 1),auto);gap:0}.clover-items[data-layout=list] .clover-items-caption{grid-column:2;grid-template-columns:none}.clover-items[data-layout=list] .clover-items-label{contain:none}.clover-items[data-layout=list] .clover-items-picture img{width:auto;height:var(--clover-space-xl)}.clover-items[data-layout=list] .clover-items-picture[data-empty]{height:var(--clover-space-xl)}:is(.clover-items-item[role=option],.clover-items-link):hover{--ring-color: color-mix( in srgb, var(--clover-color-accent, #0065c3) 50%, transparent )}.clover-items-item[aria-selected=true]{--ring-color: var(--clover-color-accent, #0065c3)}:is(.clover-items-item[role=option],.clover-items-link):focus-visible{--ring-color: var(--clover-color-primary, #1a1d1e)}:is(.clover-items-item[role=option],.clover-items-link):focus-visible .clover-items-pictures:after{position:absolute;inset:0;border-radius:inherit;outline:2px solid var(--clover-color-secondary, #fff);outline-offset:-2px;box-shadow:inset 0 0 0 4px var(--clover-color-primary, #1a1d1e);content:"";pointer-events:none}:is(.clover-items-item[role=option],.clover-items-link):not(:has(.clover-items-pictures)):focus-visible{border-radius:var(--clover-radius, 3px);outline:3px solid var(--clover-color-primary, #1a1d1e);outline-offset:calc(1px - var(--clover-items-ring-room))}@media (forced-colors: active){.clover-items-pictures{outline-color:var(--ring-color, Canvas)}.clover-items-item[aria-selected=true]{--ring-color: Highlight}:is(.clover-items-item[role=option],.clover-items-link):focus-visible{--ring-color: CanvasText}:is(.clover-items-item[role=option],.clover-items-link):focus-visible .clover-items-pictures:after{outline-color:CanvasText}:is(.clover-items-item[role=option],.clover-items-link):not(:has(.clover-items-pictures)):focus-visible{outline-color:CanvasText}}.clover-items-item[aria-selected=true] .clover-items-label{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font-weight:600}:is(button.clover-items-scroll-prev,button.clover-items-scroll-next){position:absolute;top:calc(var(--clover-items-picture-height) / 2);z-index:2;translate:0 -50%;box-shadow:0 1px 4px #00000040}.clover-items-scroll-prev{inset-inline-start:var(--clover-space-2xs)}.clover-items-scroll-next{inset-inline-end:var(--clover-space-2xs)}.clover-pager{display:flex;align-items:center;justify-content:center;gap:var(--clover-space-s);padding-block:var(--clover-space-s)}.clover-pager-position{display:inline-grid;justify-items:end;font-variant-numeric:tabular-nums;color:var(--clover-color-primary-muted, #26292b)}.clover-pager[data-direction=right-to-left] .clover-pager-position{justify-items:start}.clover-pager-position>[aria-hidden]{grid-area:1 / 1}.clover-pager-position>.clover-pager-room[hidden]{display:block;visibility:hidden}.clover-pager:has(>.clover-pager-count){position:relative;z-index:5}.clover-pager-count{position:relative}.clover-pager:has(>.clover-pager-count)>button,.clover-pager-count>.clover-pager-count-button{position:relative;z-index:1}.clover-pager-count-button{display:inline-flex;align-items:center;gap:var(--clover-space-2xs);min-height:var(--clover-space-l);padding:0 var(--clover-space-xs);border:0;border-radius:var(--clover-radius-pill, 2rem);background:none;color:var(--clover-color-primary-muted, #26292b);font:inherit;cursor:pointer}.clover-pager-count-button .clover-pager-position{color:inherit}.clover-pager-count-button .clover-pager-position>span{grid-area:1 / 1}.clover-pager-count-button:is(:hover,:focus-visible,[aria-expanded=true]){color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}.clover-pager-count-button:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}.clover-pager-count>.clover-pager-menu{z-index:0;top:calc(-1 * var(--clover-space-m));inset-inline-start:calc(-1 * var(--clover-space-m));width:min(20rem,calc(100vw - 2 * var(--clover-space-m)));max-height:min(24rem,60vh);max-height:min(24rem,60dvh);--clover-pager-menu-head: calc( var(--clover-space-m) + var(--clover-space-l) + var(--clover-space-m) );padding:var(--clover-space-m);padding-block:var(--clover-pager-menu-head) 0}.clover-pager-count>.clover-pager-menu{display:flex;flex-direction:column;overflow:hidden}.clover-pager-count>.clover-pager-menu>.clover-pager-list{min-height:0;margin:calc(-1 * var(--clover-items-ring-room, 4px));margin-block-end:0;padding:var(--clover-items-ring-room, 4px);padding-block-end:var(--clover-space-m);overflow-y:auto;overscroll-behavior:contain}@supports (timeline-scope: --clover-pager-list){.clover-pager-count>.clover-pager-menu{timeline-scope:--clover-pager-list}.clover-pager-count>.clover-pager-menu>.clover-pager-list{scroll-timeline:--clover-pager-list block}.clover-pager-count>.clover-pager-menu:before{content:"";position:absolute;z-index:1;top:calc(var(--clover-pager-menu-head) - var(--clover-items-ring-room, 4px));inset-inline:calc(var(--clover-space-m) - var(--clover-items-ring-room, 4px));height:var(--clover-space-s);background:linear-gradient(rgb(0 0 0 / .16),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:--clover-pager-list;animation-range:0 var(--clover-space-m)}}.clover-pager[data-direction=right-to-left] .clover-pager-count>.clover-pager-menu{inset-inline:auto calc(-1 * var(--clover-space-m))}.clover-pager-count-button[aria-expanded=true] svg{rotate:180deg}.clover-pager-list.clover-collection>.clover-items{--clover-items-gap: var(--clover-space-m);margin:0}.clover-pager[data-size=small]{gap:var(--clover-space-2xs);padding-block:0}.clover-pager[data-size=small] .clover-pager-count-button{font-size:var(--clover-text-xs);line-height:1}.clover-pager[data-size=small] .clover-pager-position{font-weight:600}.clover-panel{display:flex;flex-direction:column;min-width:0;padding:var(--clover-inset);--clover-sections-inset-start: calc( var(--clover-inset) - var(--clover-space-s) );--clover-sections-inset-end: var(--clover-sections-inset-start);--clover-sections-gutter: calc( var(--clover-inset) - var(--clover-space-s) - .5px );color:var(--clover-color-primary, #1a1d1e)}@media (width < 31rem){.clover-panel{--clover-inset: var(--clover-space-m)}}.clover-panel[data-closable]{--clover-panel-clear: calc( var(--clover-space-xs) + var(--clover-control) - var(--clover-inset) );--clover-sections-inset-start: calc( var(--clover-inset) + var(--clover-panel-clear) );position:relative}.clover-panel[data-closable] .clover-sections-tabs{padding-inline-end:var(--clover-panel-clear)}.clover-panel[data-closable][data-floating] .clover-sections-tabs{padding-inline:var(--clover-panel-clear) 0}.clover-panel>.clover-sections[data-layout=accordion]{margin:calc(-1 * var(--clover-space-s))}.clover-panel[data-closable]>.clover-sections[data-layout=accordion]{padding-block-start:calc(var(--clover-panel-clear) + var(--clover-space-s))}.clover-panel>button.clover-panel-close{position:absolute;inset-block-start:var(--clover-space-xs);inset-inline-end:var(--clover-space-xs);z-index:2}.clover-panel[data-floating]>button.clover-panel-close{inset-inline:var(--clover-space-xs) auto}.clover-split-pane[data-spine]{overflow:visible}[data-spine]>.clover-panel{--clover-panel-clear: calc(-1 * var(--clover-space-s));position:static;box-sizing:border-box;height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding-block:0}[data-spine]>.clover-panel>.clover-sections{margin-block:var(--clover-inset)}[data-spine]>.clover-panel>.clover-sections[data-layout=accordion]{margin-block:calc(var(--clover-inset) - var(--clover-space-s))}[data-spine]>.clover-panel>button.clover-panel-close{font-size:var(--clover-text-m);inset-block-start:calc(var(--clover-inset) - var(--clover-space-s) + (1lh + 2 * var(--clover-space-s) - var(--clover-control)) / 2);inset-inline:calc(-.618 * var(--clover-control)) auto}:is(.clover-annotations-entry,button.clover-contents-button,.clover-transcript-cue>button,button.clover-content-search-hit,.clover-geomap-places button){box-sizing:border-box;width:100%;margin:0;padding:var(--clover-space-xs) var(--clover-space-s);border:0;border-inline-start:3px solid transparent;border-radius:var(--clover-radius, 3px);background:none;color:inherit;text-align:start;cursor:pointer;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}:is(.clover-annotations-entry,button.clover-contents-button,.clover-transcript-cue>button,button.clover-content-search-hit,.clover-geomap-places button,button.clover-contents-toggle):is(:hover,[data-highlighted=true]):not(:disabled){background-color:var(--clover-color-secondary-muted, #f1f1f1)}:is(.clover-annotations-entry[data-selected=true],button.clover-contents-button[aria-current=true],.clover-transcript-cue[aria-current=true]>button,button.clover-content-search-hit[aria-current=true],.clover-geomap-places button[aria-current=true]){border-inline-start-color:var(--clover-color-accent, #0065c3);background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 8%,transparent)}@media (forced-colors: active){:is(.clover-annotations-entry,button.clover-contents-button,.clover-transcript-cue>button,button.clover-content-search-hit,.clover-geomap-places button){border-inline-start-color:Canvas}:is(.clover-annotations-entry[data-selected=true],button.clover-contents-button[aria-current=true],.clover-transcript-cue[aria-current=true]>button,button.clover-content-search-hit[aria-current=true],.clover-geomap-places button[aria-current=true]){border-inline-start-color:Highlight}}:is(.clover-annotations-list,.clover-contents-list,.clover-transcript-cues,.clover-content-search-hits,.clover-geomap-places){display:flex;flex-direction:column;gap:var(--clover-space-2xs);margin:0;padding:0;list-style:none}.clover-about{display:flex;flex-direction:column;gap:var(--clover-space-m)}.clover-about-languages{justify-content:flex-end}.clover-about-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--clover-space-2xs)}.clover-about-download{position:relative;display:inline-flex}button.clover-about-download-button{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);padding:0;border:0;border-radius:50%;background:none;color:var(--clover-color-primary-muted, #26292b);cursor:pointer}button.clover-about-download-button svg{width:var(--clover-text-s);height:var(--clover-text-s)}button.clover-about-download-button:is(:hover,:focus-visible,[aria-expanded=true]){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) button.clover-about-download-button:is(:hover,:focus-visible,[aria-expanded=true]){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) button.clover-about-download-button:hover:not(:focus-visible,[aria-expanded=true]){outline:var(--clover-accent-ring-hover);outline-offset:1px}:where([data-high-contrast]) button.clover-about-download-button[aria-expanded=true]:not(:focus-visible){outline:var(--clover-accent-ring);outline-offset:1px}button.clover-about-download-button:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}@media (forced-colors: active){button.clover-about-download-button:is(:hover,:focus-visible,[aria-expanded=true]){background-color:Highlight;color:HighlightText}}.clover-about-download-menu{top:calc(100% + var(--clover-space-xs));inset-inline-end:0;max-width:min(20rem,80vw);font-size:var(--clover-text-s);text-align:start}.clover-about-download-menu .clover-download-title{padding-inline:var(--clover-space-s)}.clover-about-download-menu .clover-download-link{padding:var(--clover-space-xs) var(--clover-space-s);border-radius:var(--clover-radius, 3px)}.clover-about-download-menu .clover-download-link:hover{background-color:var(--clover-color-secondary-muted, #e6e8eb)}.clover-about{--clover-about-thumbnail-height: calc( var(--clover-items-height, 8rem) * .618 )}.clover-about-head{display:flow-root}.clover-about-thumbnail{float:right;display:block;width:auto;height:var(--clover-about-thumbnail-height);max-width:min(50%,calc(2 * var(--clover-about-thumbnail-height)));margin-inline-start:var(--clover-space-m);margin-bottom:min(0px,calc(var(--clover-about-label-height, var(--clover-about-thumbnail-height)) - var(--clover-about-thumbnail-height)));object-fit:cover;border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-secondary-muted, #e6e8eb)}:dir(rtl) .clover-about-thumbnail{float:left}.clover-about-head:has(.clover-about-thumbnail)+*>:first-child:before{content:"";float:right;width:calc(var(--clover-about-thumbnail-width, 0px) + var(--clover-space-m));height:max(0px,calc(var(--clover-about-thumbnail-height) - var(--clover-about-label-height, 0px) + var(--clover-space-3xs)))}:dir(rtl) .clover-about-head:has(.clover-about-thumbnail)+*>:first-child:before{float:left}.clover-about :is(p,ul){margin:0}.clover-about ul{padding:0;list-style:none}.clover-about a{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere}.clover-about-part-of>li{display:flex;flex-direction:column;align-items:flex-start}button.clover-about-open{min-height:var(--clover-space-l);margin:0;padding:0;border:0;background:none;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font-size:var(--clover-text-s);text-decoration:underline 1px;text-decoration-color:color-mix(in srgb,currentColor 20%,transparent);text-underline-offset:var(--clover-space-3xs);cursor:pointer}button.clover-about-open:hover{text-decoration-color:currentColor}button.clover-about-open:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px;border-radius:var(--clover-radius, 3px)}.clover-about .clover-about-heading{margin:0;font-size:inherit;font-weight:500}.clover-collection-title{text-wrap:balance}.clover-collection>.clover-items{margin-block:calc(var(--clover-space-l) - var(--clover-space-m))}.clover-collection .clover-items[data-layout=list] .clover-items-picture img{width:var(--clover-space-xl);height:var(--clover-space-xl);object-fit:cover}.clover-collection .clover-items-caption{min-width:0;font-size:inherit}.clover-collection :is(.clover-items-date,.clover-items-summary){font-size:var(--clover-text-s)}.clover-collection :is(.clover-items-label,.clover-items-summary){min-width:0;overflow-wrap:anywhere}.clover-targets-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-s)}.clover-targets-head>.clover-targets-steps{margin-inline-start:auto}.clover-split{align-items:stretch;gap:0;min-width:0}.clover-split-pane{box-sizing:border-box;flex:1 1 0}.clover-split-pane[data-sized]{flex:0 1 var(--clover-split-size, auto);max-width:var(--clover-split-max, none)}.clover-split-handle{position:relative;z-index:1;flex:0 0 3px;align-self:stretch;background-color:color-mix(in srgb,var(--clover-color-secondary-alt, #c1c8cd) 50%,transparent);cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;transition:background-color .15s}.clover-split-handle:before{content:"";position:absolute;inset-block:0;inset-inline:calc((3px - var(--clover-space-l)) / 2)}.clover-split-handle:after{content:"";position:absolute;inset-inline:-1.5px;top:50%;height:var(--clover-space-xl);translate:0 -50%;border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-primary-muted, #26292b);transition:background-color .15s}.clover-split-handle:is(:hover,:focus-visible,[data-dragging]){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 80%,transparent)}.clover-split-handle:is(:hover,:focus-visible,[data-dragging]):after{background-color:var(--clover-color-accent, #0065c3)}@media (forced-colors: none){.clover-split-handle:not(:hover,:focus-visible,[data-dragging]){background-color:transparent}}.clover-split-handle:focus-visible{background-color:var(--clover-color-accent, #0065c3);box-shadow:0 0 0 2px var(--clover-color-secondary, #fff)}@media (forced-colors: active){.clover-split-handle,.clover-split-handle:after{background-color:CanvasText;transition:none}.clover-split-handle:is(:hover,:focus-visible,[data-dragging]),.clover-split-handle:is(:hover,:focus-visible,[data-dragging]):after{background-color:Highlight}.clover-split-handle:focus-visible{outline:2px solid CanvasText;outline-offset:2px}}@media (prefers-reduced-motion: reduce){.clover-split-handle,.clover-split-handle:after{transition:none}}:is(.clover-annotations,.clover-canvas-annotation-menu){display:flex;flex-direction:column;gap:var(--clover-space-l)}:is(div,legend).clover-annotations-set-header{display:flex;align-items:center;gap:var(--clover-space-2xs);margin:0 0 var(--clover-space-s);padding:0;color:inherit;font-size:inherit}.clover-canvas-annotation-menu>fieldset+fieldset{margin-top:0}.clover-annotations-set-header>.clover-hide{margin-inline-start:auto;margin-inline-end:calc(-1 * var(--clover-space-xs))}.clover-annotations-languages+.clover-hide{margin-inline-start:0}.clover-annotations-set:has(>.clover-annotations-set-header>.clover-hide:hover) .clover-annotations-entry,.clover-annotations-set:has(>.clover-annotations-set-header>.clover-hide input:focus-visible) .clover-annotations-entry{background-color:var(--clover-color-secondary-muted, #f1f1f1)}.clover-annotations-title{margin:0;font-size:inherit;font-weight:700}.clover-annotations-languages{margin-inline-start:auto}:is(li,label).clover-annotations-entry{display:flex;align-items:flex-start;gap:var(--clover-space-s)}:is(li,label).clover-annotations-entry{content-visibility:auto;contain-intrinsic-size:auto 2.618rem}label.clover-annotations-entry>input{position:absolute;margin:0;opacity:0;pointer-events:none}.clover-annotations-body{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.clover-annotations-body p{margin:0}.clover-annotations-body>*+*{margin-block-start:var(--clover-space-xs)}.clover-annotations-body>.clover-annotations-image+.clover-annotations-text{display:block}.clover-annotations-body :is(ul,ol){margin:0;padding-inline-start:var(--clover-space-l)}.clover-annotations-body ul{list-style-type:disc}.clover-annotations-body :is(ul,ol) ul{list-style-type:circle}.clover-annotations-body ol{list-style-type:decimal}.clover-annotations-body a{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}:is(a,button).clover-annotations-link{display:inline-block;min-height:var(--clover-space-l);margin:var(--clover-space-2xs) 0 0;padding:0;border:0;background:none;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font:inherit;font-size:var(--clover-text-s);text-decoration:underline 1px;text-decoration-color:color-mix(in srgb,currentColor 20%,transparent);text-underline-offset:var(--clover-space-3xs);cursor:pointer}:is(a,button).clover-annotations-link:hover{text-decoration-color:currentColor}:is(a,button).clover-annotations-link:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px;border-radius:var(--clover-radius, 3px)}.clover-annotations-image{border-radius:var(--clover-radius, 3px)}.clover-annotations-entry:has(>:is(button.clover-annotations-show,input):focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}.clover-annotations-canvas{display:flex;flex-direction:column;gap:var(--clover-space-xs)}.clover-annotations-canvas+.clover-annotations-canvas{margin-top:var(--clover-space-m)}.clover-annotations-canvas-label{margin:0;padding-inline-start:calc(var(--clover-space-s) + 3px);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-weight:600}.clover-annotations-canvas[aria-current=true]>.clover-annotations-canvas-label{padding-inline-start:var(--clover-space-s);border-inline-start:3px solid var(--clover-color-accent, #0065c3);color:var(--clover-color-primary, #1a1d1e)}@media (forced-colors: active){.clover-annotations-canvas[aria-current=true]>.clover-annotations-canvas-label{border-inline-start-color:Highlight}}.clover-download-groups{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-download-title{display:block;margin:0 0 var(--clover-space-2xs);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-weight:700}.clover-download-list{margin:0;padding:0;list-style:none}.clover-download-link{display:block;padding:var(--clover-space-2xs) 0;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere}.clover-download-format{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-transcript{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-transcript-cues{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--clover-space-s)}.clover-transcript-cue,.clover-transcript-cue>button{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.clover-transcript-body{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-transcript-body>p{margin:0;white-space:pre-line;overflow-wrap:anywhere}.clover-transcript-voice{font-weight:600}.clover-transcript-languages{justify-content:flex-end}.clover-transcript-find-status{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.clover-transcript-cue mark{padding:0 var(--clover-space-3xs);border-radius:2px;background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 20%,transparent);color:inherit;font-weight:700}.clover-transcript-cue[data-match=current] mark{background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 36%,transparent);box-shadow:0 0 0 1px var(--clover-color-accent, #0065c3)}@media (forced-colors: active){.clover-transcript-cue mark{background-color:Mark;color:MarkText}.clover-transcript-cue[data-match=current] mark{outline:2px solid Highlight}}.clover-transcript-more{height:1px;margin-top:-1px}.clover-transcript{--clover-transcript-at: var(--clover-transcript-top, 0px)}.clover-sections[data-layout=accordion] .clover-transcript{--clover-transcript-at: calc( var(--clover-sections-inset-start, 0px) + var(--clover-sections-total) - var(--clover-sections-after) )}.clover-transcript[data-sticky]>.clover-transcript-find{position:sticky;z-index:1;top:var(--clover-transcript-at);margin-block:calc(-1 * var(--clover-space-xs));padding-block:var(--clover-space-xs);background-color:var(--clover-color-secondary, #fff)}.clover-transcript[data-sticky] .clover-transcript-cue>button{scroll-margin-top:calc(var(--clover-transcript-at) + var(--clover-transcript-find, 0px) + var(--clover-space-l))}@supports (animation-timeline: scroll()){.clover-transcript[data-sticky]>.clover-transcript-find:after{content:"";position:absolute;top:100%;inset-inline:0;height:var(--clover-space-l);background:linear-gradient(to bottom,var(--clover-color-secondary, #fff),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:scroll();animation-range:0 var(--clover-space-m)}.clover-sections[data-layout=accordion]>[data-open=true]:has(.clover-transcript[data-sticky] .clover-transcript-find)>.clover-sections-heading>button:after{content:none}}.clover-sections[data-layout=accordion][data-stacks=off] .clover-transcript[data-sticky]>.clover-transcript-find{position:relative;top:auto}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-transcript[data-sticky]>.clover-transcript-find{position:relative;top:auto}}.clover-contents-list .clover-contents-list{margin-inline-start:var(--clover-space-s);padding-inline-start:var(--clover-space-m);border-inline-start:1px solid var(--clover-color-secondary-muted, #e6e8eb)}button.clover-contents-button{display:block}.clover-contents-item{display:flex;flex-direction:column;gap:var(--clover-space-2xs)}.clover-contents-row{display:flex;align-items:center;gap:var(--clover-space-2xs)}.clover-contents-row>button.clover-contents-button{flex:1;min-width:0}button.clover-contents-toggle{margin-inline-end:calc((var(--clover-chevron) - var(--clover-space-l)) / 2);display:flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);padding:0;border:0;border-radius:var(--clover-radius, 3px);background:none;color:var(--clover-color-primary, #1a1d1e);cursor:pointer}button.clover-contents-button[data-trail=true]{font-weight:600}button.clover-contents-button:is([data-timed=true],[data-pictured=true]){display:grid;justify-items:start;gap:var(--clover-space-2xs) var(--clover-space-s)}button.clover-contents-button[data-timed=true]{grid-template-columns:auto minmax(0,1fr)}button.clover-contents-button[data-pictured=true]{padding-block-end:calc(var(--clover-space-s) + 3px)}button.clover-contents-button:disabled{color:var(--clover-color-primary-muted, #26292b);cursor:default}button.clover-contents-button[aria-current=true]{font-weight:600}@media (forced-colors: none){button.clover-contents-button[aria-current=true]{border-inline-start-color:transparent}}.clover-contents-steps{flex-shrink:0;padding-inline:calc(var(--clover-space-s) + 3px) var(--clover-space-xs)}.clover-contents-row:has(>.clover-contents-steps){flex-wrap:wrap;row-gap:0}.clover-contents-row:has(>.clover-contents-steps)>button.clover-contents-button{flex:1 1 auto;width:auto}.clover-contents-row[data-current=true]:has(>.clover-contents-steps){border-radius:var(--clover-radius, 3px);background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 8%,transparent)}.clover-contents-row[data-current=true]:has(>.clover-contents-steps)>button.clover-contents-button{background-color:transparent}.clover-content-search{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-content-search{--clover-content-search-at: var(--clover-content-search-top, 0px)}.clover-sections[data-layout=accordion] .clover-content-search{--clover-content-search-at: calc( var(--clover-sections-inset-start, 0px) + var(--clover-sections-total) - var(--clover-sections-after) )}.clover-content-search[data-sticky]>.clover-content-search-field{position:sticky;z-index:1;top:var(--clover-content-search-at);margin-block:calc(-1 * var(--clover-space-xs));padding-block:var(--clover-space-xs);background-color:var(--clover-color-secondary, #fff)}.clover-content-search[data-sticky] button.clover-content-search-hit{scroll-margin-top:calc(var(--clover-content-search-at) + var(--clover-content-search-field, 0px) + var(--clover-space-l))}@supports (animation-timeline: scroll()){.clover-content-search[data-sticky]>.clover-content-search-field:after{content:"";position:absolute;top:100%;inset-inline:0;height:var(--clover-space-l);background:linear-gradient(to bottom,var(--clover-color-secondary, #fff),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:scroll();animation-range:0 var(--clover-space-m)}.clover-sections[data-layout=accordion]>[data-open=true]:has(.clover-content-search[data-sticky])>.clover-sections-heading>button:after{content:none}}.clover-sections[data-layout=accordion][data-stacks=off] .clover-content-search[data-sticky]>.clover-content-search-field{position:relative;top:auto}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-content-search[data-sticky]>.clover-content-search-field{position:relative;top:auto}}.clover-content-search-status{margin:0;color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-content-search-status:not([data-status=loading],[data-status=error]),.clover-content-search-status:empty{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.clover-content-search-canvas{margin:0 0 var(--clover-space-xs);font-size:inherit;font-weight:700}.clover-content-search-hits>li{content-visibility:auto;contain-intrinsic-size:auto 3.236rem}.clover-content-search-more{height:1px;margin-top:-1px}button.clover-content-search-hit{display:block;overflow-wrap:anywhere}button.clover-content-search-hit:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:-2px}.clover-content-search-hit mark{padding:0 var(--clover-space-3xs);border-radius:2px;background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 20%,transparent);color:inherit;font-weight:700}@media (forced-colors: active){.clover-content-search-hit mark{background-color:Mark;color:MarkText}}}');i(43,"styles-3","@layer clover{.clover-collection-select{display:flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-xs)}.clover-collection-select-label{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-weight:600}.clover-collection-select-control{min-width:0;max-width:100%;padding-inline-end:var(--clover-space-xl)}.clover-template-default{--clover-body-height: min(65vh, 40rem);display:flex;flex-direction:column;color:var(--clover-color-primary, #1a1d1e)}@supports (height: 1svh){.clover-template-default{--clover-body-height: min(65svh, 40rem)}}.clover-template-default:is([data-fill],:fullscreen){--clover-body-height: auto;height:100%;min-height:min-content}.clover-template-default:is([data-fill],:fullscreen)>.clover-template-default-panes{flex:1 1 auto}.clover-template-default:is([data-fill],:fullscreen) .clover-template-default-body{flex:1 1 0;min-height:16rem}.clover-template-default-header{display:flex;align-items:center;gap:var(--clover-space-s);padding:var(--clover-inset)}@media (width < 31rem){.clover-template-default-header,.clover-template-default-rail{--clover-inset: var(--clover-space-m)}}.clover-template-default-pager{flex:none;padding-block:0}.clover-template-default-header:has(>.clover-template-default-pager){flex-wrap:wrap;row-gap:var(--clover-space-xs)}.clover-template-default-header:has(>.clover-template-default-pager)>:is(.clover-template-default-title,.clover-template-default-pager){align-self:last baseline}.clover-template-default-header:has(>.clover-template-default-collection-row){display:grid;grid-template-columns:minmax(0,1fr) fit-content(38.2%);row-gap:var(--clover-space-xs)}.clover-template-default-header>:is(.clover-template-default-title,.clover-template-default-collection-row){grid-column:1}.clover-template-default-header:has(>.clover-template-default-collection-row)>.clover-template-default-provider{grid-column:2;grid-row:1 / span 2;align-self:end;max-width:none}.clover-template-default-collection-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-xs) var(--clover-space-s);min-width:0}.clover-template-default-collection{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--clover-color-primary-muted, #26292b);font-size:inherit}.clover-template-default-provider{flex:0 1 auto;max-width:38.2%;margin-inline-start:auto}@container clover-template-default-main (width < 36rem){.clover-template-default-header:has(>.clover-template-default-collection-row)>.clover-template-default-provider{grid-row:1;align-self:start}.clover-template-default-header>.clover-template-default-collection-row{grid-column:1 / -1}}@container clover-template-default-main (width < 26rem){.clover-template-default:has(.clover-template-default-panel) .clover-template-default-provider{display:none}}.clover-template-default-panes{position:relative}.clover-template-default-main{display:flex;flex-direction:column;container:clover-template-default-main / inline-size}.clover-template-panes[data-panel=over]>.clover-template-default-main{isolation:isolate}.clover-template-panes{position:relative}.clover-template-panel{contain:size;overflow-y:auto;overscroll-behavior:contain;background-color:var(--clover-color-secondary, #fff)}.clover-template-panel[hidden]{display:none}.clover-template-panes>.clover-template-panel-handle{translate:-1.5px 0}.clover-template-panes:dir(rtl)>.clover-template-panel-handle{translate:1.5px 0}.clover-template-default-panes:dir(ltr) .clover-items-viewport{margin-right:0}.clover-template-default-panes:dir(rtl) .clover-items-viewport{margin-left:0}.clover-template-default-panes:dir(ltr) .clover-items .clover-items-frame:not([dir=rtl]):after,.clover-template-default-panes:dir(ltr) .clover-items .clover-items-frame[dir=rtl]:before{right:0}.clover-template-default-panes:dir(rtl) .clover-items .clover-items-frame:not([dir=rtl]):before,.clover-template-default-panes:dir(rtl) .clover-items .clover-items-frame[dir=rtl]:after{left:0}.clover-template-panes[data-panel=over]{overflow:clip}.clover-template-panes[data-panel=over]>.clover-template-drawer{position:absolute;inset-block:0;inset-inline-end:0;z-index:4;width:min(24rem,calc(100% - var(--clover-space-2xl)));max-width:none;max-height:none;border-inline-start:1px solid var(--clover-color-secondary-muted, #e6e8eb);--clover-template-inner: left;--clover-template-toward: -1;--clover-template-out: translateX(calc(100% + var(--clover-space-xl)));transform:var(--clover-template-out);transition:transform .24s cubic-bezier(.16,1,.3,1)}.clover-template-panes[data-panel=over]>.clover-template-drawer:dir(rtl){--clover-template-out: translateX(calc(-100% - var(--clover-space-xl)));--clover-template-inner: right;--clover-template-toward: 1}.clover-template-panes[data-panel=over]>.clover-template-drawer,.clover-template-float{--clover-grip: color-mix( in srgb, var(--clover-color-primary-muted, #26292b) 30%, transparent );background:linear-gradient(var(--clover-grip),var(--clover-grip)) no-repeat var(--clover-template-inner) var(--clover-space-2xs) center / 3px var(--clover-control),var(--clover-color-secondary, #fff);touch-action:pan-y;box-shadow:calc(var(--clover-template-toward) * var(--clover-space-s)) 0 var(--clover-space-l) #0000001f}.clover-template-panes[data-panel=over]>.clover-template-drawer[data-open=true]{transform:none}.clover-template-scrim{position:absolute;inset:0;z-index:3;background-color:#0003;opacity:0;cursor:pointer;transition:opacity .24s ease}.clover-template-scrim[data-open=true]{opacity:1}@media (prefers-reduced-motion: reduce){.clover-template-panes[data-panel=over]>.clover-template-drawer,.clover-template-scrim{transition:none}}.clover-template-default-rail{display:flex;flex-direction:column;gap:var(--clover-space-m);padding:var(--clover-inset)}.clover-template-default-rail>.clover-items{margin-inline-end:calc(-1 * var(--clover-inset))}.clover-template-default-rail .clover-items-viewport{margin-inline-end:0}.clover-template-default-rail .clover-items-frame:not([dir=rtl])>button.clover-items-scroll-prev,.clover-template-default-rail .clover-items-frame[dir=rtl]>button.clover-items-scroll-next{left:calc(-1 * var(--clover-space-s))}.clover-template-default-rail .clover-items-frame:not([dir=rtl])>button.clover-items-scroll-next,.clover-template-default-rail .clover-items-frame[dir=rtl]>button.clover-items-scroll-prev{right:var(--clover-inset)}.clover-template-default-rail:not(:has(.clover-items,.clover-pager-position)){display:none}.clover-template-default-rail-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--clover-space-s)}.clover-template-default-titles{min-width:0;margin:0;overflow-wrap:anywhere}.clover-template-default-titles>.clover-template-default-titles-dot{margin-inline:var(--clover-space-xs);color:var(--clover-color-primary-muted, #26292b)}.clover-template-default-rail-header .clover-pager-position{flex-shrink:0;margin-inline-start:auto;font-size:var(--clover-text-s)}.clover-template-spine{position:relative;z-index:4;flex:none;width:0}.clover-template-spine>*{position:absolute;top:calc(var(--clover-template-spine-top, 0px) + var(--clover-inset));inset-inline-start:-1.5px;translate:-50%}.clover-template-panes:has(>.clover-template-spine)>:first-child .clover-canvas>.clover-canvas-controls[data-fit]{inset-inline-end:calc(var(--clover-control) / 2 - 1.5px + var(--clover-space-xs))}.clover-template-panes .clover-template-spine>*{transition-property:background-color,color,outline-color}.clover-root[data-status=idle] .clover-template-spine{visibility:hidden}.clover-template-spine:dir(rtl)>*{translate:50%}}");export{i as a,x as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as R,y as U,ao as V,ap as q,ar as j,au as G,bW as W,aq as H}from"./viewer-DJrQuNs1.mjs";const z=2e3,J=1e3,K=1e3,Q=[":scope > .clover-canvas-controls > *",":scope > .clover-canvas-navigator",":scope > .clover-canvas-media > .clover-canvas-transport > *"].join(", ");function $(e,A=z,n){const[M,N]=R(false);return U(()=>{if(!e)return;const v=e.ownerDocument;let u,y=false,f=false,w=false,_=false,b=-1/0,d=null,i=false,T,r=null,o=null;const p=t=>{y=t,N(t)},I=()=>{w||p(false)},s=()=>{u&&clearTimeout(u),u=void 0},D=()=>{o&&clearTimeout(o.timer),o=null},a=t=>q(t.pointerType,_),E=t=>{f=t.type==="keydown",!f&&(p(true),s(),Number.isFinite(A)&&(u=setTimeout(I,A)))},S=()=>{p(true),s(),u=setTimeout(I,J)},Y=t=>{D(),o={...t,timer:setTimeout(()=>{o=null,p(t.onPicture?!y:true)},H)}},k=t=>{if(V(t)&&(_=true),!a(t))return E(t);(r==null?void 0:r.id)===t.pointerId&&Math.hypot(t.clientX-r.x,t.clientY-r.y)>j&&(r=null)},x=t=>{if(!a(t))return E(t);f=false,s(),r=t.isPrimary===false?null:{id:t.pointerId,x:t.clientX,y:t.clientY,target:t.target}},g=t=>{if(!a(t)||(r==null?void 0:r.id)!==t.pointerId)return;const{target:c}=r;if(r=null,t.type!=="pointerup"||G(c,e))return;const L=n==null?void 0:n.current,h=!!(L&&c instanceof Node&&L.contains(c));if(h&&(o!=null&&o.onPicture)&&Math.hypot(t.clientX-o.x,t.clientY-o.y)<W){D();return}Y({x:t.clientX,y:t.clientY,onPicture:h})},B=t=>{const c=n==null?void 0:n.current,L=t.target;return!c||!L||!c.contains(L)?false:Array.from(e.querySelectorAll(Q)).some(h=>{const l=h.getBoundingClientRect();return l.width>0&&l.height>0&&t.clientX>=l.left&&t.clientX<=l.right&&t.clientY>=l.top&&t.clientY<=l.bottom})},m=t=>{if(t.type==="pointerdown"){if(d!==null||(clearTimeout(T),i=false,!B(t)))return;d=t.pointerId,i=true,a(t)?(f=false,s()):E(t)}else if(t.pointerId!==d)return;t.stopPropagation(),t.preventDefault(),t.type==="pointercancel"?(d=null,i=false):t.type==="pointerup"&&(d=null,a(t)&&Y({x:t.clientX,y:t.clientY,onPicture:false}),clearTimeout(T),T=setTimeout(()=>i=false,H))},X=t=>{i&&(i=false,t.stopPropagation(),t.preventDefault())},P=t=>{b=Date.now(),t.type==="pointerdown"&&(w=false)},C=()=>{Date.now()-b<K||(w=true,s(),p(true))},O=t=>{a(t)||y&&S()},F=t=>{e.contains(t.relatedTarget)||(w=false,(y||f)&&S())};v.addEventListener("pointerdown",P,true),v.addEventListener("pointerup",P,true);for(const t of["pointerdown","pointermove","pointerup"])e.addEventListener(t,m,true);return e.addEventListener("pointercancel",m,true),e.addEventListener("click",X,true),e.addEventListener("pointermove",k),e.addEventListener("pointerdown",x),e.addEventListener("pointerup",g),e.addEventListener("pointercancel",g),e.addEventListener("pointerleave",O),e.addEventListener("focusin",C),e.addEventListener("focusout",F),e.addEventListener("keydown",E),()=>{s(),D(),clearTimeout(T),v.removeEventListener("pointerdown",P,true),v.removeEventListener("pointerup",P,true);for(const t of["pointerdown","pointermove","pointerup"])e.removeEventListener(t,m,true);e.removeEventListener("pointercancel",m,true),e.removeEventListener("click",X,true),e.removeEventListener("pointermove",k),e.removeEventListener("pointerdown",x),e.removeEventListener("pointerup",g),e.removeEventListener("pointercancel",g),e.removeEventListener("pointerleave",O),e.removeEventListener("focusin",C),e.removeEventListener("focusout",F),e.removeEventListener("keydown",E)}},[e,A,n]),M}export{$ as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as r,bR as l,y as p}from"./viewer-DJrQuNs1.mjs";const P=()=>import("./PanelPart-YNbBI9SQ.mjs");function c(o){const[n,t]=r(),a=()=>P().then(s=>t(()=>s.default)),e=l({...o,panel:n,load:a});return p(()=>{e.open&&!n&&a()},[e.open]),e}export{c as u};
|