@takazudo/zudo-doc 3.2.0 → 4.0.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/CHANGELOG.md +61 -0
- package/README.md +2 -2
- package/bin/tag-cli-config.ts +126 -0
- package/bin/tags-audit-runner.ts +60 -76
- package/bin/tags-audit.mjs +17 -36
- package/bin/tags-suggest-runner.ts +429 -0
- package/bin/tags-suggest.mjs +30 -0
- package/bin/zudo-doc.mjs +78 -25
- package/dist/breadcrumb/breadcrumb.d.ts +4 -4
- package/dist/breadcrumb/find-path.d.ts +2 -2
- package/dist/breadcrumb/index.d.ts +1 -1
- package/dist/breadcrumb/types.d.ts +0 -5
- package/dist/chrome/derive.d.ts +16 -4
- package/dist/chrome/derive.js +64 -4
- package/dist/chrome/index.d.ts +13 -10
- package/dist/chrome/index.js +12 -6
- package/dist/chrome/primary-slots.d.ts +21 -0
- package/dist/chrome/primary-slots.js +59 -0
- package/dist/chrome-bindings.d.ts +227 -0
- package/dist/chrome-bindings.js +6 -0
- package/dist/code-syntax/code-block-enhancer-script.d.ts +4 -0
- package/dist/code-syntax/code-block-enhancer-script.js +7 -4
- package/dist/code-syntax/code-block-enhancer.d.ts +2 -2
- package/dist/code-syntax/code-block-enhancer.js +1 -3
- package/dist/code-syntax/index.d.ts +5 -5
- package/dist/code-syntax/index.js +4 -13
- package/dist/code-syntax/mermaid-init-script.d.ts +1 -22
- package/dist/code-syntax/mermaid-init-script.js +0 -2
- package/dist/code-syntax/mermaid-init.d.ts +0 -1
- package/dist/code-syntax/mermaid-init.js +3 -4
- package/dist/code-syntax/tabs-init.d.ts +0 -1
- package/dist/code-syntax/tabs-init.js +1 -3
- package/dist/code-syntax/tabs.d.ts +0 -1
- package/dist/code-syntax/tabs.js +1 -3
- package/dist/color-scheme-utils.d.ts +72 -4
- package/dist/color-scheme-utils.js +137 -0
- package/dist/color-schemes-defaults/index.d.ts +23 -0
- package/dist/color-schemes-defaults/index.js +134 -0
- package/dist/config.d.ts +459 -0
- package/dist/config.js +125 -0
- package/dist/content/component-map.d.ts +0 -16
- package/dist/content/component-map.js +2 -4
- package/dist/content/index.d.ts +1 -1
- package/dist/content/index.js +2 -3
- package/dist/content.css +1 -1
- package/dist/design-token-panel-bootstrap.d.ts +82 -27
- package/dist/design-token-panel-bootstrap.js +110 -21
- package/dist/design-token-panel-config/index.d.ts +49 -0
- package/dist/design-token-panel-config/index.js +211 -0
- package/dist/design-token-panel-config/manifest.d.ts +46 -0
- package/dist/design-token-panel-config/manifest.js +105 -0
- package/dist/directive-vocabulary-defaults/index.d.ts +16 -0
- package/dist/directive-vocabulary-defaults/index.js +12 -0
- package/dist/doc-body-end-islands/design-token-panel-island.d.ts +15 -0
- package/dist/doc-body-end-islands/design-token-panel-island.js +31 -0
- package/dist/doc-body-end-islands/index.d.ts +52 -7
- package/dist/doc-body-end-islands/index.js +19 -0
- package/dist/doc-body-end-islands/theme-pack-switcher-island.d.ts +37 -0
- package/dist/doc-body-end-islands/theme-pack-switcher-island.js +18 -0
- package/dist/doc-content-header/index.js +1 -1
- package/dist/doc-history-area/index.d.ts +10 -4
- package/dist/doc-history-area/index.js +3 -2
- package/dist/doc-metainfo-area/index.d.ts +1 -0
- package/dist/doc-page-props/index.d.ts +7 -23
- package/dist/doc-page-renderer/index.d.ts +1 -0
- package/dist/doc-page-renderer/index.js +1 -0
- package/dist/doc-page-shell/index.js +19 -12
- package/dist/doc-pager/index.js +1 -1
- package/dist/doc-route-entries/index.d.ts +2 -2
- package/dist/doclayout/doc-layout-with-defaults.js +4 -4
- package/dist/doclayout/doc-layout.d.ts +8 -0
- package/dist/doclayout/doc-layout.js +10 -1
- package/dist/docs-schema/index.d.ts +67 -0
- package/dist/docs-schema/index.js +43 -0
- package/dist/eject/index.d.ts +16 -0
- package/dist/eject/index.js +122 -28
- package/dist/extract-headings/index.d.ts +5 -8
- package/dist/extract-headings/index.js +2 -9
- package/dist/factory-context/index.d.ts +56 -4
- package/dist/features.css +65 -43
- package/dist/find-in-page/find-bar.d.ts +9 -0
- package/dist/find-in-page/find-bar.js +114 -0
- package/dist/find-in-page/find-in-page.d.ts +17 -0
- package/dist/find-in-page/find-in-page.js +131 -0
- package/dist/find-in-page/index.d.ts +11 -0
- package/dist/find-in-page/index.js +49 -0
- package/dist/footer/footer.js +1 -0
- package/dist/frontmatter-preview-defaults/index.d.ts +16 -0
- package/dist/frontmatter-preview-defaults/index.js +25 -0
- package/dist/head-with-defaults/index.d.ts +2 -0
- package/dist/head-with-defaults/index.js +16 -0
- package/dist/header/header.d.ts +10 -5
- package/dist/header/header.js +45 -5
- package/dist/header/index.d.ts +1 -1
- package/dist/header/types.d.ts +30 -1
- package/dist/header-with-defaults/index.js +1 -0
- package/dist/home-page/index.d.ts +2 -0
- package/dist/home-page/index.js +11 -5
- package/dist/home-page/prepare-home-data.js +1 -1
- package/dist/i18n-defaults/index.d.ts +22 -0
- package/dist/i18n-defaults/index.js +167 -0
- package/dist/locale-merge/index.d.ts +9 -14
- package/dist/locale-merge/index.js +6 -4
- package/dist/mdx-components/index.js +4 -4
- package/dist/plugins/claude-resources.d.ts +1 -0
- package/dist/plugins/claude-resources.js +4 -2
- package/dist/plugins/doc-history.js +1 -1
- package/dist/{integrations → plugins/internal}/claude-resources/index.d.ts +1 -16
- package/dist/{integrations → plugins/internal}/claude-resources/index.js +0 -9
- package/dist/{integrations → plugins/internal}/doc-history/index.d.ts +0 -17
- package/dist/{integrations → plugins/internal}/doc-history/index.js +0 -4
- package/dist/{integrations → plugins/internal}/doc-history/pre-build.d.ts +2 -4
- package/dist/plugins/internal/llms-txt/index.d.ts +7 -0
- package/dist/{integrations → plugins/internal}/llms-txt/load.d.ts +1 -1
- package/dist/{integrations → plugins/internal}/llms-txt/load.js +2 -2
- package/dist/{integrations → plugins/internal}/llms-txt/strip.d.ts +2 -3
- package/dist/{integrations → plugins/internal}/llms-txt/strip.js +1 -1
- package/dist/{integrations → plugins/internal}/llms-txt/types.d.ts +13 -22
- package/dist/{integrations → plugins/internal}/search-index/collect.js +1 -1
- package/dist/plugins/internal/theme-packs/copy.d.ts +32 -0
- package/dist/plugins/internal/theme-packs/copy.js +45 -0
- package/dist/plugins/internal/theme-packs/dev-middleware.d.ts +22 -0
- package/dist/plugins/internal/theme-packs/dev-middleware.js +80 -0
- package/dist/plugins/internal/theme-packs/index.d.ts +6 -0
- package/dist/plugins/internal/theme-packs/index.js +9 -0
- package/dist/plugins/internal/theme-packs/resolve.d.ts +17 -0
- package/dist/plugins/internal/theme-packs/resolve.js +17 -0
- package/dist/plugins/internal/theme-packs/types.d.ts +22 -0
- package/dist/plugins/internal/theme-packs/types.js +0 -0
- package/dist/plugins/llms-txt.js +1 -1
- package/dist/plugins/routes.js +55 -21
- package/dist/plugins/search-index.js +1 -1
- package/dist/plugins/theme-packs.d.ts +3 -0
- package/dist/plugins/theme-packs.js +40 -0
- package/dist/preset.d.ts +28 -14
- package/dist/preset.js +24 -9
- package/dist/route-context/index.js +4 -6
- package/dist/route-enumerators/index.d.ts +6 -18
- package/dist/route-enumerators/index.js +8 -6
- package/dist/routes/404.js +3 -1
- package/dist/routes/_chrome.js +3 -2
- package/dist/routes/_context.d.ts +7 -3
- package/dist/routes/_context.js +2 -0
- package/dist/routes/_docs-helpers.js +9 -21
- package/dist/safelist.css +1 -1
- package/dist/settings.d.ts +64 -12
- package/dist/sidebar-tree/build-tree.d.ts +3 -4
- package/dist/sidebar-tree/build-tree.js +4 -3
- package/dist/sidebar-tree/index.d.ts +2 -2
- package/dist/sidebar-tree/types.d.ts +6 -17
- package/dist/site-tree-nav-island/index.d.ts +3 -1
- package/dist/site-tree-nav-island/index.js +17 -5
- package/dist/site-tree-nav-island/state.d.ts +4 -0
- package/dist/site-tree-nav-island/state.js +10 -0
- package/dist/tag-helpers/index.d.ts +6 -13
- package/dist/tag-helpers/index.js +5 -23
- package/dist/tag-pages/index.d.ts +8 -21
- package/dist/tag-pages/index.js +14 -10
- package/dist/tags-audit.d.ts +16 -44
- package/dist/tags-audit.js +9 -172
- package/dist/theme/color-scheme-provider.d.ts +2 -3
- package/dist/theme/color-scheme-provider.js +2 -10
- package/dist/theme/index.d.ts +1 -4
- package/dist/theme/index.js +2 -30
- package/dist/theme/theme-pack-provider.d.ts +42 -0
- package/dist/theme/theme-pack-provider.js +75 -0
- package/dist/theme-cli/apply.d.ts +16 -0
- package/dist/theme-cli/apply.js +61 -0
- package/dist/theme-cli/config-io.d.ts +15 -0
- package/dist/theme-cli/config-io.js +51 -0
- package/dist/theme-cli/config-rewriter.d.ts +21 -0
- package/dist/theme-cli/config-rewriter.js +141 -0
- package/dist/theme-cli/config-scanner.d.ts +63 -0
- package/dist/theme-cli/config-scanner.js +288 -0
- package/dist/theme-cli/index.d.ts +7 -0
- package/dist/theme-cli/index.js +38 -0
- package/dist/theme-cli/list.d.ts +27 -0
- package/dist/theme-cli/list.js +64 -0
- package/dist/theme-cli/provenance.d.ts +17 -0
- package/dist/theme-cli/provenance.js +35 -0
- package/dist/theme-cli/registry.d.ts +14 -0
- package/dist/theme-cli/registry.js +13 -0
- package/dist/theme-pack-dialog/dialog-state.d.ts +25 -0
- package/dist/theme-pack-dialog/dialog-state.js +40 -0
- package/dist/theme-pack-dialog/index.d.ts +5 -0
- package/dist/theme-pack-dialog/index.js +152 -0
- package/dist/theme-pack-dialog/theme-pack-card.d.ts +25 -0
- package/dist/theme-pack-dialog/theme-pack-card.js +72 -0
- package/dist/theme-pack-switcher/index.d.ts +49 -0
- package/dist/theme-pack-switcher/index.js +205 -0
- package/dist/theme-pack-switcher/switcher-state.d.ts +56 -0
- package/dist/theme-pack-switcher/switcher-state.js +43 -0
- package/dist/theme-pack-switcher/theme-pack-sync.d.ts +85 -0
- package/dist/theme-pack-switcher/theme-pack-sync.js +121 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-400-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-700-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-italic-400-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-italic-700-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegibleMono-italic-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegibleMono-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/OFL.txt +94 -0
- package/dist/theme-packs/beacon/meta.json +37 -0
- package/dist/theme-packs/beacon/pack.css +442 -0
- package/dist/theme-packs/broadsheet/fonts/CourierPrime-400-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/CourierPrime-700-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/OFL.txt +95 -0
- package/dist/theme-packs/broadsheet/fonts/PlayfairDisplay-italic-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/PlayfairDisplay-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/SourceSerif4-italic-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/SourceSerif4-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/meta.json +38 -0
- package/dist/theme-packs/broadsheet/pack.css +448 -0
- package/dist/theme-packs/brutalist/fonts/ArchivoBlack-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/IBMPlexMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/OFL.txt +95 -0
- package/dist/theme-packs/brutalist/fonts/SpaceGrotesk-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/meta.json +38 -0
- package/dist/theme-packs/brutalist/pack.css +546 -0
- package/dist/theme-packs/default/meta.json +37 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexSans-italic-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexSans-latin-ext.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexSans-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/OFL.txt +93 -0
- package/dist/theme-packs/drift/meta.json +37 -0
- package/dist/theme-packs/drift/pack.css +478 -0
- package/dist/theme-packs/fjord/fonts/Inter-latin-ext.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/Inter-latin.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/JetBrainsMono-latin-ext.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/JetBrainsMono-latin.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/OFL.txt +94 -0
- package/dist/theme-packs/fjord/meta.json +37 -0
- package/dist/theme-packs/fjord/pack.css +375 -0
- package/dist/theme-packs/foundry/fonts/Inter-latin-ext.woff2 +0 -0
- package/dist/theme-packs/foundry/fonts/Inter-latin.woff2 +0 -0
- package/dist/theme-packs/foundry/fonts/OFL.txt +93 -0
- package/dist/theme-packs/foundry/meta.json +37 -0
- package/dist/theme-packs/foundry/pack.css +202 -0
- package/dist/theme-packs/futura-editorial/fonts/Jost-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/NotoSans-italic-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/NotoSans-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/OFL.txt +95 -0
- package/dist/theme-packs/futura-editorial/fonts/SpaceMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/SpaceMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/meta.json +38 -0
- package/dist/theme-packs/futura-editorial/pack.css +313 -0
- package/dist/theme-packs/hearth/fonts/Fraunces-italic-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/fonts/Fraunces-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/fonts/Nunito-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/fonts/OFL.txt +95 -0
- package/dist/theme-packs/hearth/fonts/SplineSansMono-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/meta.json +38 -0
- package/dist/theme-packs/hearth/pack.css +385 -0
- package/dist/theme-packs/hollow/fonts/OFL.txt +94 -0
- package/dist/theme-packs/hollow/fonts/SpaceGrotesk-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/fonts/SpaceMono-400-italic-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/fonts/SpaceMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/fonts/SpaceMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/meta.json +37 -0
- package/dist/theme-packs/hollow/pack.css +428 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-ext-italic.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-ext.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-italic.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/OFL.txt +94 -0
- package/dist/theme-packs/ledger/meta.json +37 -0
- package/dist/theme-packs/ledger/pack.css +463 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-400-latin.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-700-latin-ext.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-700-latin.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/EBGaramond-latin-italic.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/EBGaramond-latin.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/OFL.txt +94 -0
- package/dist/theme-packs/manuscript/meta.json +37 -0
- package/dist/theme-packs/manuscript/pack.css +376 -0
- package/dist/theme-packs/matcha/fonts/MPLUS1Code-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/OFL.txt +95 -0
- package/dist/theme-packs/matcha/fonts/ShipporiMincho-500-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/ShipporiMincho-700-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/meta.json +38 -0
- package/dist/theme-packs/matcha/pack.css +409 -0
- package/dist/theme-packs/nocturne/fonts/CormorantGaramond-italic-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/CormorantGaramond-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/IBMPlexMono-italic-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/Manrope-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/OFL.txt +95 -0
- package/dist/theme-packs/nocturne/meta.json +38 -0
- package/dist/theme-packs/nocturne/pack.css +502 -0
- package/dist/theme-packs/observatory/fonts/JosefinSans-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/Jost-italic-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/Jost-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/OFL.txt +95 -0
- package/dist/theme-packs/observatory/fonts/SpaceMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/SpaceMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/SpaceMono-italic-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/meta.json +38 -0
- package/dist/theme-packs/observatory/pack.css +728 -0
- package/dist/theme-packs/onyx/fonts/CormorantGaramond-italic-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/CormorantGaramond-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/Jost-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/OFL.txt +95 -0
- package/dist/theme-packs/onyx/meta.json +38 -0
- package/dist/theme-packs/onyx/pack.css +497 -0
- package/dist/theme-packs/phosphor/fonts/JetBrainsMono-latin-ext.woff2 +0 -0
- package/dist/theme-packs/phosphor/fonts/JetBrainsMono-latin.woff2 +0 -0
- package/dist/theme-packs/phosphor/fonts/OFL.txt +94 -0
- package/dist/theme-packs/phosphor/fonts/VT323-latin-ext.woff2 +0 -0
- package/dist/theme-packs/phosphor/fonts/VT323-latin.woff2 +0 -0
- package/dist/theme-packs/phosphor/meta.json +38 -0
- package/dist/theme-packs/phosphor/pack.css +493 -0
- package/dist/theme-packs/solar/fonts/OFL.txt +94 -0
- package/dist/theme-packs/solar/fonts/SourceCodePro-italic-latin.woff2 +0 -0
- package/dist/theme-packs/solar/fonts/SourceCodePro-latin.woff2 +0 -0
- package/dist/theme-packs/solar/fonts/SourceSans3-italic-latin.woff2 +0 -0
- package/dist/theme-packs/solar/fonts/SourceSans3-latin.woff2 +0 -0
- package/dist/theme-packs/solar/meta.json +37 -0
- package/dist/theme-packs/solar/pack.css +380 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/OFL.txt +95 -0
- package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-600-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-700-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-800-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/meta.json +38 -0
- package/dist/theme-packs/sumi/pack.css +502 -0
- package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-600-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/Inter-latin-ext.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/Inter-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/InterTight-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/OFL.txt +95 -0
- package/dist/theme-packs/swissgrid/meta.json +38 -0
- package/dist/theme-packs/swissgrid/pack.css +518 -0
- package/dist/theme-packs/washi/fonts/MPlus1Code-400-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/MPlus1Code-500-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/OFL.txt +95 -0
- package/dist/theme-packs/washi/fonts/ShipporiMincho-500-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ShipporiMincho-600-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ShipporiMincho-700-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-700-latin.woff2 +0 -0
- package/dist/theme-packs/washi/meta.json +38 -0
- package/dist/theme-packs/washi/pack.css +479 -0
- package/dist/theme-packs-registry/index.d.ts +5 -0
- package/dist/theme-packs-registry/index.js +30 -0
- package/dist/theme-packs-registry/load-registry.d.ts +23 -0
- package/dist/theme-packs-registry/load-registry.js +64 -0
- package/dist/theme-packs-registry/meta-schema.d.ts +70 -0
- package/dist/theme-packs-registry/meta-schema.js +38 -0
- package/dist/theme-packs-registry/resolve-enabled-packs.d.ts +25 -0
- package/dist/theme-packs-registry/resolve-enabled-packs.js +43 -0
- package/dist/theme-packs-registry/token-manifest.d.ts +19 -0
- package/dist/theme-packs-registry/token-manifest.js +57 -0
- package/dist/theme-packs-registry/validator.d.ts +35 -0
- package/dist/theme-packs-registry/validator.js +284 -0
- package/dist/theme-toggle/color-scheme-sync.d.ts +2 -4
- package/dist/theme.css +319 -0
- package/dist/versions-page/index.d.ts +2 -2
- package/dist/versions-page/index.js +8 -8
- package/dist/z-index-defaults/index.d.ts +45 -0
- package/dist/z-index-defaults/index.js +34 -0
- package/eject/breadcrumb/breadcrumb.tsx +4 -4
- package/eject/breadcrumb/find-path.ts +2 -2
- package/eject/breadcrumb/index.ts +1 -1
- package/eject/breadcrumb/types.ts +0 -6
- package/eject/code-group/index.tsx +2 -2
- package/eject/doc-history/index.tsx +1 -1
- package/eject/doc-pager/index.tsx +1 -1
- package/eject/footer/footer.tsx +1 -0
- package/eject/header/header.tsx +86 -21
- package/eject/header/index.ts +3 -0
- package/eject/header/types.ts +39 -1
- package/eject/site-tree-nav-island/index.tsx +15 -3
- package/eject/site-tree-nav-island/state.ts +9 -0
- package/eject/theme-toggle/color-scheme-sync.ts +2 -4
- package/package.json +82 -29
- package/routes-src/404.tsx +4 -1
- package/routes-src/_chrome.tsx +31 -8
- package/routes-src/_context.ts +4 -0
- package/routes-src/_docs-helpers.ts +9 -29
- package/routes-src/_virtual.d.ts +38 -2
- package/tsconfig.base.json +29 -0
- package/virtual-modules.d.ts +83 -0
- package/zfb-config-shim.d.ts +210 -0
- package/dist/integrations/llms-txt/index.d.ts +0 -33
- package/dist/theme/color-tweak-export-modal.d.ts +0 -16
- package/dist/theme/color-tweak-export-modal.js +0 -138
- package/dist/theme/design-token-serde.d.ts +0 -183
- package/dist/theme/design-token-serde.js +0 -346
- package/dist/theme/design-token-types.d.ts +0 -13
- package/dist/theme/design-token-types.js +0 -6
- package/dist/theme/iframe-bridge.d.ts +0 -42
- package/dist/theme/iframe-bridge.js +0 -72
- /package/dist/{integrations → plugins/internal}/claude-resources/escape-for-mdx.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/claude-resources/escape-for-mdx.js +0 -0
- /package/dist/{integrations → plugins/internal}/claude-resources/generate.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/claude-resources/generate.js +0 -0
- /package/dist/{integrations → plugins/internal}/doc-history/pre-build.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/dev-middleware.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/dev-middleware.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/emit.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/emit.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/generate.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/generate.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/index.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/types.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/build-emitter.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/build-emitter.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/collect.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/dev-middleware.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/dev-middleware.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/index.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/index.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/types.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/types.js +0 -0
|
@@ -0,0 +1,728 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
Observatory — zudo-doc theme pack (ADR docs/adr/theme-packs.md)
|
|
3
|
+
|
|
4
|
+
Night-sky atlas: star-field depth, constellation-line rules,
|
|
5
|
+
nebula violet and comet gold over astronomer's navy. Dark mode
|
|
6
|
+
is a night session at the eyepiece — navy-black sky, star-white
|
|
7
|
+
text, comet-gold accents, nebula violet. Light mode is the day
|
|
8
|
+
atlas: the same chart printed as navy ink and gilt on pale
|
|
9
|
+
celestial-blue paper. Josefin Sans chart-label headings (thin,
|
|
10
|
+
tracked, uppercase h2s) over a Jost reading face and Space Mono
|
|
11
|
+
code. Signature moves: fixed-attachment multi-depth star-dot sky
|
|
12
|
+
with nebula washes on page, sidebar, code blocks and flyout;
|
|
13
|
+
constellation-line rules — h1/h2 borders, pager cards and flyout
|
|
14
|
+
carry glowing gold star nodes joined by fading lines; dashed gold
|
|
15
|
+
ecliptic hr with a sun node; square chart-plate radii.
|
|
16
|
+
|
|
17
|
+
RADIUS DECISION: SQUARE — chart plates and instrument panels;
|
|
18
|
+
cards/admonitions/code at 0, flyout chrome at 2px.
|
|
19
|
+
|
|
20
|
+
Every rule below is scoped under html[data-theme-pack="observatory"]
|
|
21
|
+
— this is what makes the runtime pack swap atomic (Decision 3)
|
|
22
|
+
and lets the validator prove a pack can never leak styles while
|
|
23
|
+
inactive (Decision 6.7). The @font-face blocks are the sole
|
|
24
|
+
exception (at-rules can't be selector-scoped).
|
|
25
|
+
|
|
26
|
+
Prototype-selector adaptations against the REAL DOM (tokens-dump
|
|
27
|
+
§6 + component sources), noted inline where they matter:
|
|
28
|
+
- `.lead` → `p[data-doc-description]` (#2873 stable
|
|
29
|
+
hook on the description paragraph
|
|
30
|
+
DocContentHeader renders; only present when
|
|
31
|
+
the page has a frontmatter description)
|
|
32
|
+
- `.toc-active` → `nav[data-zd-toc] a[aria-current="true"]`
|
|
33
|
+
(toc/toc.tsx marks the active entry with
|
|
34
|
+
aria-current, not a mock class)
|
|
35
|
+
- `.doc-pager` → `.zd-content > nav[data-doc-pager] > a`
|
|
36
|
+
(#2873 stable hook on the DocPager nav)
|
|
37
|
+
- `footer[data-footer]` → `footer[data-footer]` (#2873 stable hook;
|
|
38
|
+
the wrapper-descendant form is no longer
|
|
39
|
+
needed)
|
|
40
|
+
- `.hdr-search` / `.hdr-icon-btn` / `.sb-group > p` / `.toc-title`
|
|
41
|
+
— prototype-mock markup with no stable
|
|
42
|
+
hook; NOT ported.
|
|
43
|
+
- `.tp-flyout` → `div[data-switcher-card]` (#2873 stable
|
|
44
|
+
hook); its title is `p[aria-live="polite"]`.
|
|
45
|
+
The launcher now has a stable hook too but
|
|
46
|
+
remains NOT ported (unchanged design
|
|
47
|
+
decision).
|
|
48
|
+
- the prototype's `--obs-*` helper properties are not part of the
|
|
49
|
+
token manifest; their values are inlined at each use site:
|
|
50
|
+
gold = var(--zd-accent)
|
|
51
|
+
violet = light-dark(oklch(0.48 0.125 300), oklch(0.74 0.115 300))
|
|
52
|
+
node = light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88))
|
|
53
|
+
node-glow = light-dark(oklch(0.52 0.11 80 / 0.35), oklch(0.86 0.13 88 / 0.55))
|
|
54
|
+
line = light-dark(oklch(0.33 0.05 268 / 0.4), oklch(0.86 0.05 265 / 0.34))
|
|
55
|
+
hairline = light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16))
|
|
56
|
+
star-a = light-dark(oklch(0.32 0.05 268 / 0.22), oklch(0.96 0.015 255 / 0.4))
|
|
57
|
+
star-b = light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2))
|
|
58
|
+
star-gold = light-dark(oklch(0.52 0.11 80 / 0.28), oklch(0.85 0.13 88 / 0.45))
|
|
59
|
+
star-violet = light-dark(oklch(0.48 0.125 300 / 0.2), oklch(0.74 0.12 300 / 0.36))
|
|
60
|
+
nebula = light-dark(oklch(0.6 0.1 300 / 0.06), oklch(0.43 0.17 300 / 0.15))
|
|
61
|
+
nebula-gold = light-dark(oklch(0.6 0.11 85 / 0.05), oklch(0.6 0.14 85 / 0.07))
|
|
62
|
+
indicator = light-dark(oklch(0.415 0.088 76), oklch(0.84 0.13 88))
|
|
63
|
+
- the prototype's `--font-sans` second entry (a commercial
|
|
64
|
+
geometric-humanist face on the Decision 5 denylist) was
|
|
65
|
+
dropped; Jost is the loaded face, system-ui covers the rest.
|
|
66
|
+
- the light syntax comment ink runs a step darker than the
|
|
67
|
+
prototype (L .52 → .50) to clear WCAG AA (≥4.5:1) on the pale
|
|
68
|
+
celestial code panel.
|
|
69
|
+
============================================================ */
|
|
70
|
+
|
|
71
|
+
/* ---- Josefin Sans — the chart-label display face: h1 (thin 200),
|
|
72
|
+
uppercase h2s (300), h3s / admonition titles / table headers
|
|
73
|
+
(400), logo and flyout title. Variable 100–700.
|
|
74
|
+
Latin subsets only (all three families): a stray latin-ext
|
|
75
|
+
or CJK glyph falls through to the stack's system face. ---- */
|
|
76
|
+
|
|
77
|
+
@font-face {
|
|
78
|
+
font-family: "Josefin Sans";
|
|
79
|
+
font-style: normal;
|
|
80
|
+
font-weight: 100 700;
|
|
81
|
+
font-display: swap;
|
|
82
|
+
src: url("./fonts/JosefinSans-latin.woff2") format("woff2");
|
|
83
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
84
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
85
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* ---- Jost — the geometric reading face (the body prose, nav, UI).
|
|
89
|
+
Variable 100–900, plus a true italic for blockquote margin
|
|
90
|
+
notes. ---- */
|
|
91
|
+
|
|
92
|
+
@font-face {
|
|
93
|
+
font-family: "Jost";
|
|
94
|
+
font-style: normal;
|
|
95
|
+
font-weight: 100 900;
|
|
96
|
+
font-display: swap;
|
|
97
|
+
src: url("./fonts/Jost-latin.woff2") format("woff2");
|
|
98
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
99
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
100
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@font-face {
|
|
104
|
+
font-family: "Jost";
|
|
105
|
+
font-style: italic;
|
|
106
|
+
font-weight: 100 900;
|
|
107
|
+
font-display: swap;
|
|
108
|
+
src: url("./fonts/Jost-italic-latin.woff2") format("woff2");
|
|
109
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
110
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
111
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* ---- Space Mono — code. Static 400/700 + a true 400 italic for
|
|
115
|
+
comments (no variable file exists). ---- */
|
|
116
|
+
|
|
117
|
+
@font-face {
|
|
118
|
+
font-family: "Space Mono";
|
|
119
|
+
font-style: normal;
|
|
120
|
+
font-weight: 400;
|
|
121
|
+
font-display: swap;
|
|
122
|
+
src: url("./fonts/SpaceMono-400-latin.woff2") format("woff2");
|
|
123
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
124
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
125
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@font-face {
|
|
129
|
+
font-family: "Space Mono";
|
|
130
|
+
font-style: normal;
|
|
131
|
+
font-weight: 700;
|
|
132
|
+
font-display: swap;
|
|
133
|
+
src: url("./fonts/SpaceMono-700-latin.woff2") format("woff2");
|
|
134
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
135
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
136
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@font-face {
|
|
140
|
+
font-family: "Space Mono";
|
|
141
|
+
font-style: italic;
|
|
142
|
+
font-weight: 400;
|
|
143
|
+
font-display: swap;
|
|
144
|
+
src: url("./fonts/SpaceMono-italic-latin.woff2") format("woff2");
|
|
145
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
146
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
147
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
html[data-theme-pack="observatory"] {
|
|
151
|
+
/* Tier-2 semantic roles — pale celestial-blue day atlas / navy
|
|
152
|
+
night sky. Both modes always via light-dark(). */
|
|
153
|
+
--zd-bg: light-dark(oklch(0.965 0.012 255), oklch(0.155 0.028 268));
|
|
154
|
+
--zd-fg: light-dark(oklch(0.235 0.045 268), oklch(0.93 0.015 255));
|
|
155
|
+
--zd-selection-bg: light-dark(oklch(0.855 0.07 300), oklch(0.405 0.13 300));
|
|
156
|
+
--zd-selection-fg: light-dark(oklch(0.22 0.06 300), oklch(0.965 0.01 300));
|
|
157
|
+
--zd-surface: light-dark(oklch(0.94 0.018 255), oklch(0.18 0.033 268));
|
|
158
|
+
--zd-muted: light-dark(oklch(0.44 0.038 266), oklch(0.705 0.032 262));
|
|
159
|
+
--zd-accent: light-dark(oklch(0.47 0.1 75), oklch(0.82 0.13 86));
|
|
160
|
+
--zd-accent-hover: light-dark(oklch(0.4 0.09 72), oklch(0.88 0.12 90));
|
|
161
|
+
--zd-code-bg: light-dark(oklch(0.93 0.02 260), oklch(0.128 0.028 270));
|
|
162
|
+
--zd-code-fg: light-dark(oklch(0.25 0.042 268), oklch(0.92 0.018 258));
|
|
163
|
+
--zd-success: light-dark(oklch(0.45 0.105 162), oklch(0.78 0.118 162));
|
|
164
|
+
--zd-danger: light-dark(oklch(0.49 0.16 22), oklch(0.7 0.15 22));
|
|
165
|
+
--zd-warning: light-dark(oklch(0.5 0.105 80), oklch(0.82 0.13 86));
|
|
166
|
+
--zd-info: light-dark(oklch(0.46 0.12 288), oklch(0.75 0.105 288));
|
|
167
|
+
|
|
168
|
+
/* syntax — spectral classes of the night sky, all 9 roles in both
|
|
169
|
+
modes: nebula-violet keywords, aurora-green strings, comet-gold
|
|
170
|
+
numbers/types, Rigel-blue callables, dim atmospheric-grey
|
|
171
|
+
comments. inserted/deleted reuse the success/danger hues. */
|
|
172
|
+
--zd-syntax-comment: light-dark(oklch(0.5 0.03 265), oklch(0.61 0.038 265));
|
|
173
|
+
--zd-syntax-string: light-dark(oklch(0.45 0.1 162), oklch(0.8 0.112 162));
|
|
174
|
+
--zd-syntax-number: light-dark(oklch(0.5 0.105 80), oklch(0.845 0.13 88));
|
|
175
|
+
--zd-syntax-keyword: light-dark(oklch(0.46 0.14 300), oklch(0.76 0.118 300));
|
|
176
|
+
--zd-syntax-callable: light-dark(oklch(0.46 0.11 250), oklch(0.78 0.095 240));
|
|
177
|
+
--zd-syntax-type: light-dark(oklch(0.5 0.085 60), oklch(0.865 0.068 78));
|
|
178
|
+
--zd-syntax-name: light-dark(oklch(0.27 0.04 268), oklch(0.93 0.015 255));
|
|
179
|
+
--zd-syntax-inserted: light-dark(oklch(0.45 0.105 162), oklch(0.78 0.118 162));
|
|
180
|
+
--zd-syntax-deleted: light-dark(oklch(0.49 0.16 22), oklch(0.7 0.15 22));
|
|
181
|
+
|
|
182
|
+
/* fonts — Jost reading face, Space Mono code, Josefin Sans
|
|
183
|
+
chart-label display face. */
|
|
184
|
+
--font-sans: "Jost", system-ui, sans-serif;
|
|
185
|
+
--font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
186
|
+
--font-display: "Josefin Sans", "Jost", system-ui, sans-serif;
|
|
187
|
+
|
|
188
|
+
/* Tier-3 component seams — thin tracked display headings, square
|
|
189
|
+
chart plates, gold nav marker. */
|
|
190
|
+
--zdc-doc-title-font: var(--font-display);
|
|
191
|
+
--zdc-doc-title-weight: 200;
|
|
192
|
+
--zdc-doc-title-tracking: 0.045em;
|
|
193
|
+
--zdc-doc-h2-font: var(--font-display);
|
|
194
|
+
--zdc-doc-h2-weight: 300;
|
|
195
|
+
--zdc-doc-h2-tracking: 0.1em;
|
|
196
|
+
--zdc-admonition-radius: 0;
|
|
197
|
+
--zdc-admonition-border-width: 2px;
|
|
198
|
+
--zdc-card-radius: 0;
|
|
199
|
+
--zdc-nav-active-indicator-color: light-dark(oklch(0.415 0.088 76), oklch(0.84 0.13 88));
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* ---- Observatory extras ---- */
|
|
203
|
+
|
|
204
|
+
/* faint star-dot field, three depths + two nebula washes; fixed
|
|
205
|
+
attachment so the sky holds still while the page scrolls */
|
|
206
|
+
html[data-theme-pack="observatory"] body {
|
|
207
|
+
background-image:
|
|
208
|
+
radial-gradient(
|
|
209
|
+
70rem 46rem at 84% -12%,
|
|
210
|
+
light-dark(oklch(0.6 0.1 300 / 0.06), oklch(0.43 0.17 300 / 0.15)),
|
|
211
|
+
transparent 62%
|
|
212
|
+
),
|
|
213
|
+
radial-gradient(
|
|
214
|
+
52rem 36rem at -12% 108%,
|
|
215
|
+
light-dark(oklch(0.6 0.11 85 / 0.05), oklch(0.6 0.14 85 / 0.07)),
|
|
216
|
+
transparent 60%
|
|
217
|
+
),
|
|
218
|
+
radial-gradient(
|
|
219
|
+
1.5px 1.5px at 73px 210px,
|
|
220
|
+
light-dark(oklch(0.52 0.11 80 / 0.28), oklch(0.85 0.13 88 / 0.45)),
|
|
221
|
+
transparent
|
|
222
|
+
),
|
|
223
|
+
radial-gradient(
|
|
224
|
+
1.5px 1.5px at 246px 66px,
|
|
225
|
+
light-dark(oklch(0.48 0.125 300 / 0.2), oklch(0.74 0.12 300 / 0.36)),
|
|
226
|
+
transparent
|
|
227
|
+
),
|
|
228
|
+
radial-gradient(
|
|
229
|
+
1px 1px at 22px 34px,
|
|
230
|
+
light-dark(oklch(0.32 0.05 268 / 0.22), oklch(0.96 0.015 255 / 0.4)),
|
|
231
|
+
transparent
|
|
232
|
+
),
|
|
233
|
+
radial-gradient(
|
|
234
|
+
1px 1px at 191px 122px,
|
|
235
|
+
light-dark(oklch(0.32 0.05 268 / 0.22), oklch(0.96 0.015 255 / 0.4)),
|
|
236
|
+
transparent
|
|
237
|
+
),
|
|
238
|
+
radial-gradient(
|
|
239
|
+
1px 1px at 118px 250px,
|
|
240
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
241
|
+
transparent
|
|
242
|
+
),
|
|
243
|
+
radial-gradient(
|
|
244
|
+
1px 1px at 301px 172px,
|
|
245
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
246
|
+
transparent
|
|
247
|
+
);
|
|
248
|
+
background-size:
|
|
249
|
+
auto,
|
|
250
|
+
auto,
|
|
251
|
+
420px 420px,
|
|
252
|
+
380px 380px,
|
|
253
|
+
260px 260px,
|
|
254
|
+
300px 300px,
|
|
255
|
+
340px 340px,
|
|
256
|
+
360px 360px;
|
|
257
|
+
background-attachment: fixed;
|
|
258
|
+
letter-spacing: 0.005em;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/* header — observatory signage over a gold→violet ecliptic rule */
|
|
262
|
+
html[data-theme-pack="observatory"] header[data-header] {
|
|
263
|
+
border-image: linear-gradient(
|
|
264
|
+
to right,
|
|
265
|
+
var(--zd-accent),
|
|
266
|
+
light-dark(oklch(0.48 0.125 300), oklch(0.74 0.115 300)) 34%,
|
|
267
|
+
light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16)) 72%,
|
|
268
|
+
transparent
|
|
269
|
+
)
|
|
270
|
+
1;
|
|
271
|
+
background-image: linear-gradient(
|
|
272
|
+
to bottom,
|
|
273
|
+
color-mix(
|
|
274
|
+
in oklch,
|
|
275
|
+
light-dark(oklch(0.48 0.125 300), oklch(0.74 0.115 300)) 7%,
|
|
276
|
+
transparent
|
|
277
|
+
),
|
|
278
|
+
transparent
|
|
279
|
+
);
|
|
280
|
+
}
|
|
281
|
+
html[data-theme-pack="observatory"] [data-header-logo] {
|
|
282
|
+
font-family: var(--font-display);
|
|
283
|
+
font-weight: 300;
|
|
284
|
+
font-size: 1.05rem;
|
|
285
|
+
letter-spacing: 0.16em;
|
|
286
|
+
text-transform: uppercase;
|
|
287
|
+
}
|
|
288
|
+
html[data-theme-pack="observatory"] [data-header-logo]::after {
|
|
289
|
+
content: " ✦";
|
|
290
|
+
color: var(--zd-accent);
|
|
291
|
+
font-size: 0.8em;
|
|
292
|
+
}
|
|
293
|
+
html[data-theme-pack="observatory"] [data-nav-item] {
|
|
294
|
+
letter-spacing: 0.03em;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/* sidebar — dimmer star field behind the catalog */
|
|
298
|
+
html[data-theme-pack="observatory"] #desktop-sidebar {
|
|
299
|
+
border-right-color: light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
300
|
+
background-image:
|
|
301
|
+
radial-gradient(
|
|
302
|
+
1px 1px at 31px 44px,
|
|
303
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
304
|
+
transparent
|
|
305
|
+
),
|
|
306
|
+
radial-gradient(
|
|
307
|
+
1px 1px at 140px 170px,
|
|
308
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
309
|
+
transparent
|
|
310
|
+
),
|
|
311
|
+
radial-gradient(
|
|
312
|
+
1.5px 1.5px at 88px 236px,
|
|
313
|
+
light-dark(oklch(0.48 0.125 300 / 0.2), oklch(0.74 0.12 300 / 0.36)),
|
|
314
|
+
transparent
|
|
315
|
+
);
|
|
316
|
+
background-size:
|
|
317
|
+
220px 220px,
|
|
318
|
+
260px 260px,
|
|
319
|
+
320px 320px;
|
|
320
|
+
background-attachment: fixed;
|
|
321
|
+
}
|
|
322
|
+
html[data-theme-pack="observatory"] #desktop-sidebar a {
|
|
323
|
+
border-radius: 0;
|
|
324
|
+
}
|
|
325
|
+
html[data-theme-pack="observatory"] #desktop-sidebar a:hover {
|
|
326
|
+
color: var(--zd-accent);
|
|
327
|
+
}
|
|
328
|
+
/* active item: the gold indicator token fills it; square plate */
|
|
329
|
+
html[data-theme-pack="observatory"] a[data-nav-active] {
|
|
330
|
+
border-radius: 0;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/* breadcrumb: gilded hover */
|
|
334
|
+
html[data-theme-pack="observatory"] main nav[aria-label="Breadcrumb"] a:hover {
|
|
335
|
+
color: var(--zd-accent);
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/* h1 — constellation underline: gold star nodes joined by a fading
|
|
339
|
+
line, glowing faintly */
|
|
340
|
+
html[data-theme-pack="observatory"] .zd-content h1 {
|
|
341
|
+
position: relative;
|
|
342
|
+
padding-bottom: 0.8rem;
|
|
343
|
+
}
|
|
344
|
+
html[data-theme-pack="observatory"] .zd-content h1::after {
|
|
345
|
+
content: "";
|
|
346
|
+
position: absolute;
|
|
347
|
+
left: 0;
|
|
348
|
+
bottom: 0;
|
|
349
|
+
width: min(24rem, 100%);
|
|
350
|
+
height: 7px;
|
|
351
|
+
background:
|
|
352
|
+
radial-gradient(
|
|
353
|
+
circle,
|
|
354
|
+
light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88)) 0 2.2px,
|
|
355
|
+
transparent 2.8px
|
|
356
|
+
)
|
|
357
|
+
0% 50% / 7px 7px no-repeat,
|
|
358
|
+
radial-gradient(
|
|
359
|
+
circle,
|
|
360
|
+
light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88)) 0 1.7px,
|
|
361
|
+
transparent 2.3px
|
|
362
|
+
)
|
|
363
|
+
36% 50% / 6px 6px no-repeat,
|
|
364
|
+
radial-gradient(
|
|
365
|
+
circle,
|
|
366
|
+
light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88)) 0 1.4px,
|
|
367
|
+
transparent 2px
|
|
368
|
+
)
|
|
369
|
+
68% 50% / 5px 5px no-repeat,
|
|
370
|
+
radial-gradient(
|
|
371
|
+
circle,
|
|
372
|
+
light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88)) 0 1.7px,
|
|
373
|
+
transparent 2.3px
|
|
374
|
+
)
|
|
375
|
+
100% 50% / 6px 6px no-repeat,
|
|
376
|
+
linear-gradient(
|
|
377
|
+
to right,
|
|
378
|
+
light-dark(oklch(0.33 0.05 268 / 0.4), oklch(0.86 0.05 265 / 0.34)) 0%,
|
|
379
|
+
light-dark(oklch(0.33 0.05 268 / 0.4), oklch(0.86 0.05 265 / 0.34)) 60%,
|
|
380
|
+
transparent
|
|
381
|
+
)
|
|
382
|
+
0 50% / 100% 1px no-repeat;
|
|
383
|
+
filter: drop-shadow(
|
|
384
|
+
0 0 4px light-dark(oklch(0.52 0.11 80 / 0.35), oklch(0.86 0.13 88 / 0.55))
|
|
385
|
+
);
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/* the lead: a light-weight opening line under the title. Targets the
|
|
389
|
+
`data-doc-description` hook (#2873). */
|
|
390
|
+
html[data-theme-pack="observatory"] .zd-content > p[data-doc-description] {
|
|
391
|
+
font-weight: 300;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/* h2 — chart-label caps over a constellation line with star nodes.
|
|
395
|
+
The SSR-inlined `style="border-image:linear-gradient(...)"` bar is
|
|
396
|
+
defeated with border-image none !important (Decision 6.6's sole
|
|
397
|
+
allowlisted carve-out) + a zeroed border-top; the node-to-line rule
|
|
398
|
+
is then painted as a top-anchored background gradient, with the two
|
|
399
|
+
glowing star nodes as pseudo-element dots. */
|
|
400
|
+
html[data-theme-pack="observatory"] .zd-content h2 {
|
|
401
|
+
border-image: none !important;
|
|
402
|
+
border-top-width: 0;
|
|
403
|
+
position: relative;
|
|
404
|
+
text-transform: uppercase;
|
|
405
|
+
background-image: linear-gradient(
|
|
406
|
+
to right,
|
|
407
|
+
light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88)),
|
|
408
|
+
light-dark(oklch(0.33 0.05 268 / 0.4), oklch(0.86 0.05 265 / 0.34)) 45%,
|
|
409
|
+
transparent 85%
|
|
410
|
+
);
|
|
411
|
+
background-size: 100% 1px;
|
|
412
|
+
background-repeat: no-repeat;
|
|
413
|
+
background-position: top left;
|
|
414
|
+
}
|
|
415
|
+
html[data-theme-pack="observatory"] .zd-content h2::before,
|
|
416
|
+
html[data-theme-pack="observatory"] .zd-content h2::after {
|
|
417
|
+
content: "";
|
|
418
|
+
position: absolute;
|
|
419
|
+
border-radius: 50%;
|
|
420
|
+
background: light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88));
|
|
421
|
+
box-shadow: 0 0 6px light-dark(oklch(0.52 0.11 80 / 0.35), oklch(0.86 0.13 88 / 0.55));
|
|
422
|
+
}
|
|
423
|
+
html[data-theme-pack="observatory"] .zd-content h2::before {
|
|
424
|
+
top: -3px;
|
|
425
|
+
left: 0;
|
|
426
|
+
width: 5px;
|
|
427
|
+
height: 5px;
|
|
428
|
+
}
|
|
429
|
+
html[data-theme-pack="observatory"] .zd-content h2::after {
|
|
430
|
+
top: -2.5px;
|
|
431
|
+
left: 38%;
|
|
432
|
+
width: 4px;
|
|
433
|
+
height: 4px;
|
|
434
|
+
opacity: 0.85;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/* h3 — chart labels with a small gold star marker */
|
|
438
|
+
html[data-theme-pack="observatory"] .zd-content h3 {
|
|
439
|
+
font-family: var(--font-display);
|
|
440
|
+
font-weight: 400;
|
|
441
|
+
letter-spacing: 0.05em;
|
|
442
|
+
}
|
|
443
|
+
html[data-theme-pack="observatory"] .zd-content h3::before {
|
|
444
|
+
content: "✦ ";
|
|
445
|
+
color: var(--zd-accent);
|
|
446
|
+
font-size: 0.75em;
|
|
447
|
+
vertical-align: 0.12em;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/* links — gilt underlines */
|
|
451
|
+
html[data-theme-pack="observatory"] .zd-content a {
|
|
452
|
+
text-underline-offset: 3px;
|
|
453
|
+
text-decoration-color: color-mix(in oklch, var(--zd-accent) 55%, transparent);
|
|
454
|
+
}
|
|
455
|
+
html[data-theme-pack="observatory"] .zd-content a:hover {
|
|
456
|
+
text-decoration-color: var(--zd-accent-hover);
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/* blockquote — a violet margin note in the observer's log */
|
|
460
|
+
html[data-theme-pack="observatory"] .zd-content blockquote {
|
|
461
|
+
border-left-color: light-dark(oklch(0.48 0.125 300), oklch(0.74 0.115 300));
|
|
462
|
+
font-style: italic;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/* gold ecliptic hr — dashed orbit path with a sun node and outriders */
|
|
466
|
+
html[data-theme-pack="observatory"] .zd-content hr {
|
|
467
|
+
border: none;
|
|
468
|
+
height: 9px;
|
|
469
|
+
margin: 2.75rem 0;
|
|
470
|
+
background:
|
|
471
|
+
radial-gradient(circle, var(--zd-accent) 0 2.6px, transparent 3.2px) 50% 50% / 9px 9px
|
|
472
|
+
no-repeat,
|
|
473
|
+
radial-gradient(circle, var(--zd-accent) 0 1.4px, transparent 2px) 18% 50% / 5px 5px
|
|
474
|
+
no-repeat,
|
|
475
|
+
radial-gradient(circle, var(--zd-accent) 0 1.4px, transparent 2px) 82% 50% / 5px 5px
|
|
476
|
+
no-repeat,
|
|
477
|
+
repeating-linear-gradient(
|
|
478
|
+
to right,
|
|
479
|
+
color-mix(in oklch, var(--zd-accent) 55%, transparent) 0 12px,
|
|
480
|
+
transparent 12px 22px
|
|
481
|
+
)
|
|
482
|
+
0 50% / 100% 1px no-repeat;
|
|
483
|
+
filter: drop-shadow(
|
|
484
|
+
0 0 5px light-dark(oklch(0.52 0.11 80 / 0.35), oklch(0.86 0.13 88 / 0.55))
|
|
485
|
+
);
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/* inline code — hairline instrument tag, square */
|
|
489
|
+
html[data-theme-pack="observatory"] .zd-content code:not(pre code) {
|
|
490
|
+
border: 1px solid light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
491
|
+
border-radius: 0;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/* code block — a deep-space viewport: darker than the page, its own
|
|
495
|
+
stars, a violet frame lit from its top edge */
|
|
496
|
+
html[data-theme-pack="observatory"] pre.hi-root {
|
|
497
|
+
border-radius: 0;
|
|
498
|
+
border-color: color-mix(
|
|
499
|
+
in oklch,
|
|
500
|
+
light-dark(oklch(0.48 0.125 300), oklch(0.74 0.115 300)) 38%,
|
|
501
|
+
transparent
|
|
502
|
+
);
|
|
503
|
+
background-image:
|
|
504
|
+
radial-gradient(
|
|
505
|
+
1px 1px at 34px 26px,
|
|
506
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
507
|
+
transparent
|
|
508
|
+
),
|
|
509
|
+
radial-gradient(
|
|
510
|
+
1px 1px at 150px 74px,
|
|
511
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
512
|
+
transparent
|
|
513
|
+
),
|
|
514
|
+
radial-gradient(
|
|
515
|
+
1.5px 1.5px at 220px 40px,
|
|
516
|
+
light-dark(oklch(0.48 0.125 300 / 0.2), oklch(0.74 0.12 300 / 0.36)),
|
|
517
|
+
transparent
|
|
518
|
+
);
|
|
519
|
+
background-size:
|
|
520
|
+
200px 120px,
|
|
521
|
+
260px 140px,
|
|
522
|
+
340px 160px;
|
|
523
|
+
box-shadow: inset 0 1px 0
|
|
524
|
+
color-mix(
|
|
525
|
+
in oklch,
|
|
526
|
+
light-dark(oklch(0.48 0.125 300), oklch(0.74 0.115 300)) 22%,
|
|
527
|
+
transparent
|
|
528
|
+
);
|
|
529
|
+
}
|
|
530
|
+
html[data-theme-pack="observatory"] .hi-com {
|
|
531
|
+
font-style: italic;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
/* admonitions — framed chart plates, astronomical marginalia glyphs
|
|
535
|
+
for note/tip/warning; the other variants keep the stock icons */
|
|
536
|
+
html[data-theme-pack="observatory"] [data-admonition] {
|
|
537
|
+
border-top: 1px solid light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
538
|
+
border-right: 1px solid light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
539
|
+
border-bottom: 1px solid light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
540
|
+
}
|
|
541
|
+
html[data-theme-pack="observatory"] [data-admonition] .admonition-title {
|
|
542
|
+
font-family: var(--font-display);
|
|
543
|
+
font-weight: 400;
|
|
544
|
+
font-size: 0.85rem;
|
|
545
|
+
text-transform: uppercase;
|
|
546
|
+
letter-spacing: 0.12em;
|
|
547
|
+
}
|
|
548
|
+
html[data-theme-pack="observatory"] [data-admonition="note"] .admonition-title::before {
|
|
549
|
+
content: "✦ ";
|
|
550
|
+
}
|
|
551
|
+
html[data-theme-pack="observatory"] [data-admonition="tip"] .admonition-title::before {
|
|
552
|
+
content: "☄\fe0e ";
|
|
553
|
+
}
|
|
554
|
+
html[data-theme-pack="observatory"] [data-admonition="warning"] .admonition-title::before {
|
|
555
|
+
content: "⚠\fe0e ";
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
/* table — catalog columns under a gilt rule */
|
|
559
|
+
html[data-theme-pack="observatory"] .zd-content th {
|
|
560
|
+
font-family: var(--font-display);
|
|
561
|
+
font-weight: 400;
|
|
562
|
+
font-size: 0.8rem;
|
|
563
|
+
text-transform: uppercase;
|
|
564
|
+
letter-spacing: 0.1em;
|
|
565
|
+
border-bottom: 1px solid color-mix(in oklch, var(--zd-accent) 55%, transparent);
|
|
566
|
+
color: color-mix(in oklch, var(--zd-accent) 40%, var(--zd-fg));
|
|
567
|
+
}
|
|
568
|
+
html[data-theme-pack="observatory"] .zd-content td {
|
|
569
|
+
border-bottom-color: light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
/* TOC — meridian line with a gold active marker. The real DOM marks
|
|
573
|
+
the active entry with aria-current="true" (toc/toc.tsx); the entry
|
|
574
|
+
pulls back to the ul's padding edge (it clips at padding, foundry
|
|
575
|
+
note) so the gold plate sits snug against the rail. */
|
|
576
|
+
html[data-theme-pack="observatory"] nav[data-zd-toc] ul {
|
|
577
|
+
border-left-color: light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
578
|
+
}
|
|
579
|
+
html[data-theme-pack="observatory"] nav[data-zd-toc] a:hover {
|
|
580
|
+
color: var(--zd-accent);
|
|
581
|
+
}
|
|
582
|
+
html[data-theme-pack="observatory"] nav[data-zd-toc] a[aria-current="true"] {
|
|
583
|
+
background: light-dark(oklch(0.415 0.088 76), oklch(0.84 0.13 88));
|
|
584
|
+
color: var(--zd-bg);
|
|
585
|
+
font-weight: 500;
|
|
586
|
+
margin-left: calc(-1 * var(--spacing-hsp-lg, 1rem));
|
|
587
|
+
padding-left: var(--spacing-hsp-lg, 1rem);
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
/* pager — constellation cards: glowing nodes pinned to opposite
|
|
591
|
+
corners; gilt frame and node-glow on hover. Targets the DocPager's
|
|
592
|
+
`data-doc-pager` hook (#2873) directly. */
|
|
593
|
+
html[data-theme-pack="observatory"] .zd-content > nav[data-doc-pager] > a {
|
|
594
|
+
border-radius: 0;
|
|
595
|
+
border-color: light-dark(oklch(0.33 0.05 268 / 0.22), oklch(0.88 0.04 265 / 0.16));
|
|
596
|
+
background-color: color-mix(in oklch, var(--zd-surface) 60%, transparent);
|
|
597
|
+
background-image:
|
|
598
|
+
radial-gradient(
|
|
599
|
+
circle,
|
|
600
|
+
light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88)) 0 1.8px,
|
|
601
|
+
transparent 2.4px
|
|
602
|
+
),
|
|
603
|
+
radial-gradient(
|
|
604
|
+
circle,
|
|
605
|
+
light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88)) 0 1.8px,
|
|
606
|
+
transparent 2.4px
|
|
607
|
+
);
|
|
608
|
+
background-position:
|
|
609
|
+
9px 9px,
|
|
610
|
+
calc(100% - 9px) calc(100% - 9px);
|
|
611
|
+
background-size: 6px 6px;
|
|
612
|
+
background-repeat: no-repeat;
|
|
613
|
+
transition:
|
|
614
|
+
box-shadow 0.18s ease,
|
|
615
|
+
border-color 0.18s ease;
|
|
616
|
+
}
|
|
617
|
+
html[data-theme-pack="observatory"]
|
|
618
|
+
.zd-content
|
|
619
|
+
> nav[data-doc-pager]
|
|
620
|
+
> a:hover {
|
|
621
|
+
border-color: color-mix(in oklch, var(--zd-accent) 65%, transparent);
|
|
622
|
+
box-shadow: 0 0 16px -4px
|
|
623
|
+
light-dark(oklch(0.52 0.11 80 / 0.35), oklch(0.86 0.13 88 / 0.55));
|
|
624
|
+
}
|
|
625
|
+
html[data-theme-pack="observatory"] .zd-content > nav[data-doc-pager] > a div {
|
|
626
|
+
text-transform: uppercase;
|
|
627
|
+
letter-spacing: 0.08em;
|
|
628
|
+
font-size: 0.72rem;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
/* footer — the horizon: gilt rule fading at both ends, last stars.
|
|
632
|
+
Targets the `data-footer` hook (#2873) directly. */
|
|
633
|
+
html[data-theme-pack="observatory"] footer[data-footer] {
|
|
634
|
+
border-image: linear-gradient(
|
|
635
|
+
to right,
|
|
636
|
+
transparent,
|
|
637
|
+
color-mix(in oklch, var(--zd-accent) 60%, transparent) 30% 70%,
|
|
638
|
+
transparent
|
|
639
|
+
)
|
|
640
|
+
1;
|
|
641
|
+
background-image:
|
|
642
|
+
radial-gradient(
|
|
643
|
+
1px 1px at 60px 30px,
|
|
644
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
645
|
+
transparent
|
|
646
|
+
),
|
|
647
|
+
radial-gradient(
|
|
648
|
+
1px 1px at 220px 70px,
|
|
649
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
650
|
+
transparent
|
|
651
|
+
);
|
|
652
|
+
background-size:
|
|
653
|
+
280px 110px,
|
|
654
|
+
340px 130px;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
/* theme-pack flyout — a framed star chart: violet frame, nebula wash,
|
|
658
|
+
its own stars, glowing gold nodes on opposing corners; Josefin
|
|
659
|
+
chart-label title. Targets the `data-switcher-card` hook (#2873);
|
|
660
|
+
the launcher now has a stable hook too but remains NOT ported. */
|
|
661
|
+
html[data-theme-pack="observatory"] div[data-switcher-card] {
|
|
662
|
+
/* the dialog is a static flex child of the fixed wrapper — anchor
|
|
663
|
+
the corner-node pseudos to the card itself */
|
|
664
|
+
position: relative;
|
|
665
|
+
border: 1px solid
|
|
666
|
+
color-mix(
|
|
667
|
+
in oklch,
|
|
668
|
+
light-dark(oklch(0.48 0.125 300), oklch(0.74 0.115 300)) 45%,
|
|
669
|
+
transparent
|
|
670
|
+
);
|
|
671
|
+
border-radius: 2px;
|
|
672
|
+
background-image:
|
|
673
|
+
radial-gradient(
|
|
674
|
+
26rem 16rem at 100% 0%,
|
|
675
|
+
light-dark(oklch(0.6 0.1 300 / 0.06), oklch(0.43 0.17 300 / 0.15)),
|
|
676
|
+
transparent 65%
|
|
677
|
+
),
|
|
678
|
+
radial-gradient(
|
|
679
|
+
1px 1px at 40px 30px,
|
|
680
|
+
light-dark(oklch(0.32 0.05 268 / 0.22), oklch(0.96 0.015 255 / 0.4)),
|
|
681
|
+
transparent
|
|
682
|
+
),
|
|
683
|
+
radial-gradient(
|
|
684
|
+
1.5px 1.5px at 150px 62px,
|
|
685
|
+
light-dark(oklch(0.52 0.11 80 / 0.28), oklch(0.85 0.13 88 / 0.45)),
|
|
686
|
+
transparent
|
|
687
|
+
),
|
|
688
|
+
radial-gradient(
|
|
689
|
+
1px 1px at 250px 104px,
|
|
690
|
+
light-dark(oklch(0.32 0.05 268 / 0.12), oklch(0.96 0.015 255 / 0.2)),
|
|
691
|
+
transparent
|
|
692
|
+
);
|
|
693
|
+
box-shadow:
|
|
694
|
+
0 10px 34px -6px rgb(2 6 20 / 0.5),
|
|
695
|
+
0 0 22px -8px light-dark(oklch(0.52 0.11 80 / 0.35), oklch(0.86 0.13 88 / 0.55));
|
|
696
|
+
}
|
|
697
|
+
html[data-theme-pack="observatory"]
|
|
698
|
+
div[data-switcher-card]::before,
|
|
699
|
+
html[data-theme-pack="observatory"]
|
|
700
|
+
div[data-switcher-card]::after {
|
|
701
|
+
content: "";
|
|
702
|
+
position: absolute;
|
|
703
|
+
width: 5px;
|
|
704
|
+
height: 5px;
|
|
705
|
+
border-radius: 50%;
|
|
706
|
+
background: light-dark(oklch(0.5 0.105 78), oklch(0.87 0.13 88));
|
|
707
|
+
box-shadow: 0 0 6px light-dark(oklch(0.52 0.11 80 / 0.35), oklch(0.86 0.13 88 / 0.55));
|
|
708
|
+
pointer-events: none;
|
|
709
|
+
}
|
|
710
|
+
html[data-theme-pack="observatory"]
|
|
711
|
+
div[data-switcher-card]::before {
|
|
712
|
+
top: -2.5px;
|
|
713
|
+
left: -2.5px;
|
|
714
|
+
}
|
|
715
|
+
html[data-theme-pack="observatory"]
|
|
716
|
+
div[data-switcher-card]::after {
|
|
717
|
+
bottom: -2.5px;
|
|
718
|
+
right: -2.5px;
|
|
719
|
+
}
|
|
720
|
+
html[data-theme-pack="observatory"]
|
|
721
|
+
div[data-switcher-card]
|
|
722
|
+
p[aria-live="polite"] {
|
|
723
|
+
font-family: var(--font-display);
|
|
724
|
+
font-weight: 300;
|
|
725
|
+
letter-spacing: 0.14em;
|
|
726
|
+
text-transform: uppercase;
|
|
727
|
+
color: var(--zd-accent);
|
|
728
|
+
}
|