From 9e456bbaaa4c56ccec940e9246c5838029f74e49 Mon Sep 17 00:00:00 2001 From: Richard Zink Date: Mon, 21 Sep 2026 12:50:07 +0200 Subject: [PATCH] feat(theme): add Ash theme (currently active) + palette preview; docs/README to six themes --- README.md | 14 ++- assets/palette-ash.png | Bin 0 -> 11299 bytes docs/switch-blog-theme.md | 5 +- theme/blog_share_theme_ash.css | 167 +++++++++++++++++++++++++++++++++ 4 files changed, 179 insertions(+), 7 deletions(-) create mode 100644 assets/palette-ash.png create mode 100644 theme/blog_share_theme_ash.css diff --git a/README.md b/README.md index 4f041cb..9c45ca5 100644 --- a/README.md +++ b/README.md @@ -20,20 +20,22 @@ no external dependencies (except `highlight.js`, vendored in `lib/`). ## Themes -The share ships with **three themes**, each with a dark and a light variant (toggled via the header +The share ships with **six themes**, each with a dark and a light variant (toggled via the header switch / `html.theme-light` + `html.theme-dark`). They live in `theme/` and are set on the blog by pointing the `shareCss` relation at the matching note – see [`docs/switch-blog-theme.md`](docs/switch-blog-theme.md) for the step-by-step guide. | Theme | File | Palette (dark / light) | Source | |---|---|---|---| +| **Ash** (active) | `theme/blog_share_theme_ash.css` | panel `#1c1b1f` / bone `#e6dfd1`, ember `#e0914f` steel `#7c9aa1` · paper `#e9e3d5` / ink `#2a2822` | Ash palette, Gruvbox-derived ([trilium-themes](https://git.familie-zink.org/zink/trilium-themes)) | | **Coffee** | `theme/blog_share_theme_coffee.css` | espresso `#1d150f` / latte-cream `#f0e2d0`, caramel `#e0a15c` · cream `#E8E3C3` / ink `#2D1A1D`, berry `#8e2d53` | [megabyte0x/omarchy-coffee-theme](https://github.com/megabyte0x/omarchy-coffee-theme) (MIT) | -| **Harbor** | `theme/blog_share_theme_harbor.css` | near-black `#1b1b1b` / cream `#efebdc`, coral `#e75a50` · paper `#dfe4c4` / ink `#1c2d28`, nord-blue `#5e81ac` | [HANCORE-linux/omarchy-harbor-theme](https://github.com/HANCORE-linux/omarchy-harbordark-theme) (MIT) | -| **Gruvbox** (active) | `theme/blog_share_theme_gruvbox.css` | bg `#282828` / fg `#ebdbb2`, accents red/green/yellow/blue | [morhetz/gruvbox](https://github.com/morhetz/gruvbox) (MIT) | +| **Harbor** | `theme/blog_share_theme_harbor.css` | near-black `#1b1b1b` / cream `#efebdc`, coral `#e75a50` · paper `#dfe4c4` / ink `#1c2d28`, nord-blue `#5e81ac` | [HANCORE-linux/omarchy-harbordark-theme](https://github.com/HANCORE-linux/omarchy-harbordark-theme) (MIT) | +| **Gruvbox** | `theme/blog_share_theme_gruvbox.css` | bg `#282828` / fg `#ebdbb2`, accents red/green/yellow/blue | [morhetz/gruvbox](https://github.com/morhetz/gruvbox) (MIT) | | **Solarized** | `theme/blog_share_theme_solarized.css` | bg `#002b36` / fg `#839496`, blue `#268bd2` cyan `#2aa198` · bg `#fdf6e3` / fg `#657b83` | [Solarized by Ethan Schoonover](https://ethanschoonover.com/solarized/) (MIT) | | **Tokyo Night** | `theme/blog_share_theme_tokyonight.css` | storm `#24283b` / fg `#c0caf5`, blue `#7aa2f7` · day `#e1e2e7` / fg `#3760bf` | [tokyonight.nvim](https://github.com/folke/tokyonight.nvim) (Apache-2.0) | ![Coffee palette](assets/palette-coffee.png) +![Ash palette](assets/palette-ash.png) ![Harbor palette](assets/palette-harbor.png) ![Gruvbox palette](assets/palette-gruvbox.png) ![Solarized palette](assets/palette-solarized.png) @@ -42,7 +44,7 @@ pointing the `shareCss` relation at the matching note – see ## Features - Coffee dark / Coffee Latte light theme for the share, with a theme toggle in the header - (Gruvbox and Harbor are available as well – see the [Themes](#themes) section). + (Ash, Harbor, Gruvbox, Solarized and Tokyo Night are available as well – see the [Themes](#themes) section). - Blog index, category pages, sub-categories, tags and tag overview. - **Menu sorting**: articles in the left menu are sorted by publication date (newest first) and labelled `Fri 2026-08-28 ` automatically. All date displays @@ -85,6 +87,7 @@ pointing the `shareCss` relation at the matching note – see | `blog_generator.js` | backend script that generates index, feed, sitemap, search data, category & tag pages | code, `application/javascript;env=backend` | | `blog_publish_manager.js` | backend script that mirrors notes between `Unpublished` and the blog | code, `application/javascript;env=backend` | | `theme/blog_share_base.css` | **Base stylesheet** (layout/components, palette-independent, var()-driven) | code, `text/css` | +| `theme/blog_share_theme_ash.css` | **Ash / Ash light share theme (currently active)** – Gruvbox-derived palette | code, `text/css` | | `theme/blog_share_theme_coffee.css` | Coffee / Coffee Latte share theme (palette overrides) | code, `text/css` | | `theme/blog_share_theme_harbor.css` | Harbor / Harbordark share theme | code, `text/css` | | `theme/blog_share_theme_gruvbox.css` | Gruvbox light/dark share theme | code, `text/css` | @@ -147,6 +150,7 @@ Under **`.blog`** create one code note per file, using the file name as the note | Note title | File | mime | |---|---|---| +| `blog_share_theme_ash.css` | `theme/blog_share_theme_ash.css` | `text/css` | | `blog_share_theme_coffee.css` | `theme/blog_share_theme_coffee.css` | `text/css` | | `blog_share_theme_harbor.css` | `theme/blog_share_theme_harbor.css` | `text/css` | | `blog_share_theme_gruvbox.css` | `theme/blog_share_theme_gruvbox.css` | `text/css` | @@ -325,7 +329,7 @@ server { ## Customisation -- **Theme**: pick one of `theme/blog_share_theme_{coffee,harbor,gruvbox,solarized,tokyonight}.css` and point the blog's +- **Theme**: pick one of `theme/blog_share_theme_{ash,coffee,harbor,gruvbox,solarized,tokyonight}.css` and point the blog's `shareCss` relation at it – see [`docs/switch-blog-theme.md`](docs/switch-blog-theme.md). Each theme ships dark + light via `html.theme-light/dark`. The 3D viewer and Mermaid rendering read the theme's CSS variables, so they adapt automatically to whichever theme is active. diff --git a/assets/palette-ash.png b/assets/palette-ash.png new file mode 100644 index 0000000000000000000000000000000000000000..ce312a249e5cbdb18d18abf5a616e889c17916b4 GIT binary patch literal 11299 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 literal 0 HcmV?d00001 diff --git a/docs/switch-blog-theme.md b/docs/switch-blog-theme.md index c240c71..5754bc2 100644 --- a/docs/switch-blog-theme.md +++ b/docs/switch-blog-theme.md @@ -9,13 +9,14 @@ note IDs are given for reference. | Theme | Repo file | Live note | Dark / light | |---|---|---|---| +| **Ash (active)** | `theme/blog_share_theme_ash.css` | `OCbcTyzbQJA2` | panel/bone · ember+steel / paper+ink | | Coffee (default) | `theme/blog_share_theme_coffee.css` | `NqZXcFRGi3II` | espresso / latte-cream | | Harbor | `theme/blog_share_theme_harbor.css` | `Ep54EDTwKxup` | harbordark / paper | | Gruvbox | `theme/blog_share_theme_gruvbox.css` | `edhL5cByGwqA` | gruvbox dark / light | | Solarized | `theme/blog_share_theme_solarized.css` | `UFxPR5IpTyfj` | base03 / base3 | | Tokyo Night | `theme/blog_share_theme_tokyonight.css` | `bf1OKYo3msZm` | storm / day | -All three themes include a `html.theme-light` + `html.theme-dark` block, theme-aware **3D viewer** +All six themes include a `html.theme-light` + `html.theme-dark` block, theme-aware **3D viewer** overlays and **Mermaid** rendering. The 3D viewer reads the theme's CSS variables (`--background-primary` for the canvas, `--background-active` for the model material), so it adapts automatically to whichever theme is active – no script changes needed. @@ -70,4 +71,4 @@ If you want to add or customise a theme on a new Trilium instance: The palette-independent layout lives in **`blog_share_base.css`** (note under `.blog`, mime `text/css`). It is attached to the blog root with a **second `shareCss` relation that is inherited (`isInheritable`)**, alongside the per-palette theme relation. When you switch the active palette you change ONLY the theme `shareCss` target; the base relation stays untouched. -Because the base is shared, add any **new generic rule (focus ring, image caps, component layout) to `blog_share_base.css`** instead of duplicating it across all five theme files. The themes now carry only the `:root` variables and the colour-specific components. For production you can serve the minified build via `tools/minify_css.py`. +Because the base is shared, add any **new generic rule (focus ring, image caps, component layout) to `blog_share_base.css`** instead of duplicating it across all six theme files. The themes now carry only the `:root` variables and the colour-specific components. For production you can serve the minified build via `tools/minify_css.py`. diff --git a/theme/blog_share_theme_ash.css b/theme/blog_share_theme_ash.css new file mode 100644 index 0000000..0ce1210 --- /dev/null +++ b/theme/blog_share_theme_ash.css @@ -0,0 +1,167 @@ +/* Ash theme for blog share - recolored from the Gruvbox active theme. + Ash palette: Gruvbox hues cooled/desaturated (yurakuden AshPalette / trilium-themes). */ +html.theme-light{--background-primary:#e9e3d5;--background-secondary:#dcd5c3;--background-highlight:#c9c1ad;--background-active:#3d6b72;--blog-card-bg:#dcd5c3;--scrollbar-thumb:#c9c1ad;--scrollbar-hover:#c9c1ad;--scrollbar-track:#dcd5c3;--text-primary:#2a2822;--text-heading:#2a2822;--text-menu:#6f685c;--text-link:#3d6b72;--text-menu-active:#e9e3d5;color-scheme:light;--model-viewer-color:#5c6631}html.theme-dark{--background-primary:#1c1b1f;--background-secondary:#100f12;--background-highlight:#3a383d;--background-active:#7c9aa1;--blog-card-bg:#29282c;--scrollbar-thumb:#3a383d;--scrollbar-hover:#454148;--scrollbar-track:#100f12;--text-primary:#e6dfd1;--text-heading:#f3ede1;--text-menu:#999187;--text-link:#7c9aa1;--text-menu-active:#100f12;color-scheme:dark;--model-viewer-color:#8f9a5c}body{font-family:"Inter","Montserrat","Lucida Grande","Lucida Sans Unicode",arial,sans-serif}#menu a{color:var(--text-heading);gap:8px;font-size:0.9em;padding:4px 6px;border-color:transparent;transition:background-color 150ms ease,color 150ms ease}#menu a:hover{background:var(--background-highlight);color:var(--text-heading);border-color:transparent;text-decoration:none}#menu a.active{background:var(--background-active);color:var(--background-secondary);border-color:transparent}#menu .tn-icon{color:var(--text-link)}#bmc-wrap{padding:8px 14px 14px;background:var(--background-secondary);border-top:1px solid var(--background-highlight)}.bmc-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;padding:6px 12px 8px;border-radius:8px;background:#d6b46a;color:#100f12;border:2px solid #100f12;font-family:"Cookie","Brush Script MT",cursive;font-size:1.4em;line-height:1.1;text-decoration:none;transition:background-color 150ms ease,transform 150ms ease}.bmc-btn:hover{background:#e0914f;color:#100f12;text-decoration:none;transform:translateY(-1px)}.bmc-btn .bmc-emoji{font-size:1.15em}.bmc-copyright{margin-top:8px;font-size:0.75em;color:var(--text-menu);display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.bmc-powered{display:inline-flex;align-items:center;gap:3px;color:var(--text-menu);text-decoration:none;transition:color 150ms ease}.bmc-powered:hover{color:var(--text-link);text-decoration:none}.powered-logo{width:1em;height:1em;display:inline-block}.search-item{position:relative}.blog-search-header-input{flex:1;min-width:0;padding:6px 10px 6px 32px;border-radius:6px;border:1px solid rgba(124,154,161,0.55);background:rgba(124,154,161,0.08);color:var(--text-heading);font-size:0.9em;transition:border-color 150ms ease,box-shadow 150ms ease}html.theme-light .blog-search-header-input{border-color:#3d6b72;background:rgba(61,107,114,0.10)}.blog-search-header-input:focus{outline:none;border-color:#7c9aa1;box-shadow:0 0 0 2px rgba(124,154,161,0.20)}html.theme-light .blog-search-header-input:focus{border-color:#3d6b72;box-shadow:0 0 0 2px rgba(61,107,114,0.15)}.search-item .search-icon{color:rgba(124,154,161,0.85)}html.theme-light .search-item .search-icon{color:#3d6b72}.tn-image{width:18px;height:18px;border-radius:4px;flex-shrink:0;vertical-align:middle}.tn-image-svg{color:var(--text-link)}.title-image{width:34px;height:34px;border-radius:6px;vertical-align:middle;margin-right:10px}.note-fallback{margin:1em 0;overflow:hidden}.note-fallback-link{font-size:0.9em}.mermaid-fallback{margin:1em 0}.mermaid-render{margin:1em 0;padding:14px;background:var(--background-secondary);border:1px solid var(--background-highlight);border-radius:8px;overflow-x:auto}.mermaid-render svg{max-width:100%;height:auto}.mermaid-source{margin:12px 0 0;text-align:center}.mermaid-source summary{cursor:pointer;font-size:0.85em;color:var(--text-menu);user-select:none;padding:4px 10px;border:1px solid var(--background-highlight);border-radius:6px;display:inline-block;background:var(--background-secondary)}.mermaid-source summary:hover{color:var(--text-heading);border-color:var(--text-link)}.mermaid-source pre{width:min(100%,820px);margin:8px auto 0;text-align:left;position:relative;overflow:hidden}#content .mermaid-source .hljs-ln{width:100%}.mindmap-render,.excalidraw-render{margin:1em 0;padding:14px;background:var(--background-secondary);border:1px solid var(--background-highlight);border-radius:8px;overflow-x:auto}.mindmap-svg{display:block;width:100%;height:auto}.excalidraw-svg{display:block;max-width:100%;height:auto}.mindmap-render svg text{user-select:none}.blog-search-overlay{display:none;position:absolute;top:calc(100%+4px);left:0;right:0;z-index:50;background:var(--background-secondary);border:1px solid var(--background-highlight);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.25)}.blog-search-overlay.open{display:block}.blog-search-overlay-hit{display:flex;flex-direction:column;gap:1px;padding:7px 10px;color:var(--text-heading);text-decoration:none;font-size:0.85em;border-bottom:1px solid var(--background-highlight)}.blog-search-overlay-hit:last-child{border-bottom:none}.blog-search-overlay-hit:hover{background:var(--background-highlight);text-decoration:none}.blog-search-overlay-hit .s{font-size:0.75em;color:var(--text-menu);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-search-overlay .blog-search-none{padding:8px 10px;font-size:0.85em}#main{max-width:min(92vw,1200px)}#site-header{padding-bottom:10px}#title{font-family:"JetBrains Mono","Montserrat",monospace;letter-spacing:-0.02em}body.is-garden #title{display:flex;align-items:center;justify-content:space-between;gap:12px}body.is-garden #title .note-state{margin-left:auto;flex-shrink:0}body.is-garden #content h1#title{background-color:rgba(143,154,92,0.35) !important;border-bottom-color:rgba(143,154,92,0.60) !important}html.theme-light body.is-garden #content h1#title{background-color:rgba(92,102,49,0.20) !important;border-bottom-color:rgba(92,102,49,0.45) !important}html.theme-dark{--header-h2-bg:rgba(124,154,161,0.35);--header-h2-border:rgba(124,154,161,0.7);--header-h3-bg:rgba(143,154,92,0.25);--header-h3-border:rgba(143,154,92,0.6);--header-h4-bg:rgba(214,180,106,0.25);--header-h4-border:rgba(214,180,106,0.6);--header-h5-bg:rgba(180,126,153,0.25);--header-h5-border:rgba(180,126,153,0.6);--header-h6-bg:rgba(224,145,79,0.25);--header-h6-border:rgba(224,145,79,0.6);--header-h1-bg:rgba(193,92,70,0.30);--header-h1-border:rgba(193,92,70,0.6)}html.theme-light{--header-h2-bg:rgba(61,107,114,0.18);--header-h2-border:rgba(61,107,114,0.45);--header-h3-bg:rgba(92,102,49,0.10);--header-h3-border:rgba(92,102,49,0.35);--header-h4-bg:rgba(138,106,36,0.10);--header-h4-border:rgba(138,106,36,0.35);--header-h5-bg:rgba(124,74,102,0.10);--header-h5-border:rgba(124,74,102,0.35);--header-h6-bg:rgba(168,95,29,0.10);--header-h6-border:rgba(168,95,29,0.35);--header-h1-bg:rgba(150,57,42,0.12);--header-h1-border:rgba(150,57,42,0.40)}#content h1{background-color:var(--header-h1-bg);border-bottom:2px solid var(--header-h1-border);border-radius:4px;padding:0.3em 0.4em;font-size:1.6em;font-weight:700;margin-top:1.5em;margin-bottom:1.25em}#content h2{background-color:var(--header-h2-bg);border-bottom:2px solid var(--header-h2-border);border-radius:4px;padding:0.25em 0.4em}#content h3{background-color:var(--header-h3-bg);border-bottom:2px solid var(--header-h3-border);border-radius:4px;padding:0.2em 0.35em}#content h4{background-color:var(--header-h4-bg);border-bottom:2px solid var(--header-h4-border);border-radius:4px;padding:0.2em 0.35em}#content h5{background-color:var(--header-h5-bg);border-bottom:2px solid var(--header-h5-border);border-radius:4px;padding:0.2em 0.35em}#content h6{background-color:var(--header-h6-bg);border-bottom:2px solid var(--header-h6-border);border-radius:4px;padding:0.2em 0.35em}#childLinks{display:none}#index{display:none}.ck-content pre,#content pre{background-color:#1c1b1f;color:#e6dfd1;border:1px solid #3a383d;border-radius:8px}.ck-content code,#content code{background-color:#29282c;color:#e6dfd1;border-color:#3a383d;border-radius:8px;padding:0.1em 0.35em}html.theme-light .ck-content pre,html.theme-light #content pre{background-color:#e9e3d5;color:#2a2822;border-color:#c9c1ad}html.theme-light .ck-content code,html.theme-light #content code{background-color:#c9c1ad;color:#2a2822;border-color:#c9c1ad}.model-viewer{position:relative;box-sizing:border-box;width:calc(100vw - 24px);margin:1em 0;margin-left:calc(50% - (100vw - 24px) / 2);background:#100f12;border:1px solid var(--background-highlight);border-radius:8px;overflow:hidden}.model-viewer.model-viewer-inline{width:100%;margin-left:0}.model-viewer-data{position:absolute;top:8px;right:10px;z-index:3;display:none;font-size:0.75em;color:#999187;background:rgba(28,27,31,0.8);border:1px solid #3a383d;border-radius:6px;padding:2px 10px;font-variant-numeric:tabular-nums;pointer-events:none}.model-viewer-canvas{position:relative;width:100%;height:min(70vh,900px);min-height:420px}.model-viewer-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:48px;box-sizing:border-box;color:#999187;font-size:0.9em}.model-viewer-status.error{color:#c15c46}.model-viewer-progress{position:absolute;left:0;right:0;bottom:40px;height:6px;width:min(60%,480px);margin:0 auto;background:#29282c;border-radius:3px;overflow:hidden}.model-viewer-progress-fill{height:100%;width:0;background:#8f9a5c;border-radius:3px;transition:width 150ms ease}.model-viewer-progress-fill.indeterminate{width:40%;animation:model-progress 1.1s ease-in-out infinite}@keyframes model-progress{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}.model-viewer-hint{position:absolute;top:8px;left:10px;font-size:0.75em;color:#999187;z-index:2;pointer-events:none}.model-viewer-caption{font-size:0.85em;font-style:italic;color:var(--text-menu);text-align:center;padding:4px 12px;background:var(--background-secondary);border-top:1px solid var(--background-highlight)}.model-viewer canvas{display:block;width:100%;height:100%}html.theme-light .model-viewer{background:#e9e3d5}html.theme-light .model-viewer-status,html.theme-light .model-viewer-hint,html.theme-light .model-viewer-data{color:#2a2822}html.theme-light .model-viewer-data{background:rgba(233,227,213,0.85);border-color:#c9c1ad}html.theme-light .model-viewer-status.error{color:#96392a}html.theme-light .model-viewer-progress{background:#c9c1ad}html.theme-light .model-viewer-progress-fill{background:#3d6b72}#content figcaption{font-size:0.85em;font-style:italic;color:var(--text-menu);text-align:center;margin-top:8px;padding:4px 12px;background:var(--background-secondary);border:1px solid var(--background-highlight);border-radius:8px;display:inline-block}.hljs{background:#1c1b1f;color:#e6dfd1}.hljs-comment,.hljs-quote{color:#6d6a63}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#c15c46}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#b47e99}.hljs-string,.hljs-doctag{color:#8f9a5c}.hljs-title,.hljs-section,.hljs-selector-id{color:#e0914f}.hljs-type,.hljs-class .hljs-title,.hljs-attribute{color:#d6b46a}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-deletion,.hljs-addition{color:#b47e99}.hljs-built_in,.hljs-builtin-name,.hljs-params{color:#8f9a5c}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}html.theme-light .hljs,html.theme-light pre code.hljs{background:#e9e3d5 !important;color:#2a2822}html.theme-light .hljs-comment,html.theme-light .hljs-quote{color:#6f685c}html.theme-light .hljs-keyword,html.theme-light .hljs-selector-tag,html.theme-light .hljs-subst{color:#96392a}html.theme-light .hljs-number,html.theme-light .hljs-literal,html.theme-light .hljs-variable,html.theme-light .hljs-template-variable,html.theme-light .hljs-tag .hljs-attr{color:#7c4a66}html.theme-light .hljs-string,html.theme-light .hljs-doctag{color:#5c6631}html.theme-light .hljs-title,html.theme-light .hljs-section,html.theme-light .hljs-selector-id{color:#a85f1d}html.theme-light .hljs-type,html.theme-light .hljs-class .hljs-title,html.theme-light .hljs-attribute{color:#8a6a24}html.theme-light .hljs-symbol,html.theme-light .hljs-bullet,html.theme-light .hljs-link,html.theme-light .hljs-meta,html.theme-light .hljs-deletion,html.theme-light .hljs-addition{color:#7c4a66}html.theme-light .hljs-built_in,html.theme-light .hljs-builtin-name,html.theme-light .hljs-params{color:#5c6631}html.theme-light .hljs-regexp,html.theme-light .hljs-operator,html.theme-light .hljs-selector-attr,html.theme-light .hljs-selector-pseudo,html.theme-light .hljs-selector-class,html.theme-light .hljs-template-tag{color:#7c4a66}html.theme-light .hljs-name,html.theme-light .hljs-tag{color:#3d6b72}html.theme-light .hljs-meta .hljs-string{color:#5c6631}.admonition{--accent-color:var(--background-highlight);--admonition-bg:var(--background-secondary);border:1px solid var(--accent-color);box-shadow:0 1px 2px rgba(0,0,0,0.15);background:var(--admonition-bg);border-radius:0.5em;padding:1em;padding-inline-start:2.5em;margin:1.25em 0;position:relative;overflow:hidden}html.theme-dark .admonition.note{--admonition-bg:rgba(105,199,255,0.16)}html.theme-dark .admonition.tip{--admonition-bg:rgba(64,192,37,0.14)}html.theme-dark .admonition.important{--admonition-bg:rgba(152,57,247,0.18)}html.theme-dark .admonition.caution{--admonition-bg:rgba(255,46,46,0.16)}html.theme-dark .admonition.warning{--admonition-bg:rgba(226,170,3,0.14)}html.theme-dark .admonition{box-shadow:0 1px 2px rgba(0,0,0,0.4)}html.theme-light .admonition.note{--admonition-bg:rgba(105,199,255,0.22)}html.theme-light .admonition.tip{--admonition-bg:rgba(64,192,37,0.16)}html.theme-light .admonition.important{--admonition-bg:rgba(152,57,247,0.15)}html.theme-light .admonition.caution{--admonition-bg:rgba(255,46,46,0.15)}html.theme-light .admonition.warning{--admonition-bg:rgba(226,170,3,0.20)}.admonition p:last-child{margin-bottom:0}.admonition p,.admonition h2{margin-top:0}.admonition.note{--accent-color:#69c7ff}.admonition.tip{--accent-color:#40c025}.admonition.important{--accent-color:#9839f7}.admonition.caution{--accent-color:#ff2e2e}.admonition.warning{--accent-color:#e2aa03}.admonition::before{color:var(--accent-color);font-family:boxicons !important;position:absolute;top:1em;inset-inline-start:1em}.admonition.note::before{content:"\eb21"}.admonition.tip::before{content:"\ea0d"}.admonition.important::before{content:"\ea7c"}.admonition.caution::before{content:"\eac7"}.admonition.warning::before{content:"\eac5"}html.theme-dark{--table-header-bg:rgba(124,154,161,0.30);--table-header-text:#f3ede1;--table-header-border:rgba(124,154,161,0.6);--table-stripe:rgba(255,255,255,0.04);--table-hover:rgba(124,154,161,0.16);--table-rowlabel-bg:rgba(255,255,255,0.05);--table-rowlabel-text:#e6dfd1}html.theme-light{--table-header-bg:rgba(61,107,114,0.20);--table-header-text:#2a2822;--table-header-border:rgba(61,107,114,0.45);--table-stripe:rgba(0,0,0,0.04);--table-hover:rgba(61,107,114,0.12);--table-rowlabel-bg:rgba(0,0,0,0.05);--table-rowlabel-text:#2a2822}.ck-content table,#content table{border-collapse:separate;border-spacing:0;border:1px solid var(--background-highlight);border-radius:8px;overflow:hidden;margin:1em 0}.ck-content table th,.ck-content table td,#content table th,#content table td{border:none;border-bottom:1px solid var(--background-highlight);border-right:1px solid var(--background-highlight);padding:8px 12px;text-align:left;background-color:transparent !important}.ck-content table th:last-child,.ck-content table td:last-child,#content table th:last-child,#content table td:last-child{border-right:none}.ck-content table tr:last-child td,#content table tr:last-child td{border-bottom:none}.ck-content table thead th,#content table thead th{background-color:var(--table-header-bg) !important;color:var(--table-header-text);font-weight:700;border-bottom:2px solid var(--table-header-border)}.ck-content table tbody td:first-child,#content table tbody td:first-child{background-color:var(--table-rowlabel-bg) !important;color:var(--table-rowlabel-text);font-weight:600;white-space:nowrap}.ck-content table tbody tr:nth-child(even) td:not(:first-child),#content table tbody tr:nth-child(even) td:not(:first-child){background-color:var(--table-stripe) !important}.ck-content table tbody tr:hover td,#content table tbody tr:hover td{background-color:rgba(224,145,79,0.07) !important}.ck-content table .col-hover,#content table .col-hover{background-color:rgba(224,145,79,0.07) !important}.ck-content table tbody tr:hover td.col-hover,.ck-content table thead th.col-hover,#content table tbody tr:hover td.col-hover,#content table thead th.col-hover{background-color:rgba(224,145,79,0.14) !important}.blog-garden-table tbody tr{cursor:pointer}#content .blog-garden-table tbody tr:hover td,#content .blog-garden-table .col-hover{background-color:rgba(143,154,92,0.12) !important}#content .blog-garden-table tbody tr:hover td.col-hover{background-color:rgba(143,154,92,0.20) !important}.note-state{display:inline-flex;align-items:center;gap:5px;font-size:0.8em;padding:2px 10px;border-radius:8px;background:rgba(143,154,92,0.18);color:var(--text-heading);font-weight:600;white-space:nowrap}.note-state i{color:#8f9a5c}.note-state.state-draft{background:rgba(109,106,99,0.22)}.note-state.state-draft i{color:#6d6a63}.note-state.state-review{background:rgba(124,154,161,0.25)}.note-state.state-review i{color:#7c9aa1}.note-state.state-unknown{background:rgba(193,92,70,0.20)}.note-state.state-unknown i{color:#c15c46}html.theme-dark .note-state{background:rgba(143,154,92,0.45);border:1px solid #8f9a5c;color:#1c1b1f}html.theme-dark .note-state i{color:#1c1b1f}html.theme-dark .note-state.state-draft{background:rgba(193,92,70,0.85);border-color:#cf7059;color:#100f12}html.theme-dark .note-state.state-draft i{color:#100f12}html.theme-dark .note-state.state-review{background:rgba(124,154,161,0.85);border-color:#a3c7bb;color:#100f12}html.theme-dark .note-state.state-review i{color:#100f12}html.theme-dark .note-state.state-unknown{background:rgba(224,145,79,0.85);border-color:#eaa15f;color:#100f12}html.theme-dark .note-state.state-unknown i{color:#100f12}html.theme-light .note-state{background:rgba(92,102,49,0.85);border:1px solid #5c6631;color:#f2ecdf}html.theme-light .note-state i{color:#f2ecdf}html.theme-light .note-state.state-draft{background:rgba(204,36,29,0.90);border-color:#96392a;color:#f2ecdf}html.theme-light .note-state.state-draft i{color:#f2ecdf}html.theme-light .note-state.state-review{background:rgba(69,133,136,0.90);border-color:#5c6631;color:#f2ecdf}html.theme-light .note-state.state-review i{color:#f2ecdf}html.theme-light .note-state.state-unknown{background:rgba(168,95,29,0.90);border-color:#a85f1d;color:#f2ecdf}html.theme-light .note-state.state-unknown i{color:#f2ecdf}#content.type-code pre{background-color:#1c1b1f !important;color:#e6dfd1;border:1px solid #3a383d;border-radius:8px;padding:1em;margin:1em 0}#content.type-code code{background-color:transparent !important;color:#e6dfd1;border:0}html.theme-light #content.type-code pre{background-color:#e9e3d5 !important;color:#2a2822;border-color:#c9c1ad}html.theme-light #content.type-code code{color:#2a2822}#content .hljs-ln{border-collapse:collapse;border:none !important;box-shadow:none;border-radius:8px;margin:0;width:auto;line-height:1.4}#content .hljs-ln td,#content .hljs-ln th{border:none !important;background-color:transparent !important;padding:0}#content .hljs-ln tbody td:first-child,#content .hljs-ln thead th:first-child{background-color:transparent !important}#content .hljs-ln tbody tr:nth-child(even) td{background-color:transparent !important}#content .hljs-ln .col-hover{background-color:transparent !important}#content .hljs-ln tbody tr:hover td,#content .hljs-ln tbody tr:hover td.col-hover{background-color:rgba(224,145,79,0.07) !important}html.theme-light #content .hljs-ln tbody tr:hover td,html.theme-light #content .hljs-ln tbody tr:hover td.col-hover{background-color:rgba(168,95,29,0.08) !important}.hljs-ln-numbers{user-select:none;text-align:right;padding-right:12px !important;padding-left:4px;border-right:1px solid var(--background-highlight) !important;color:var(--text-menu);white-space:nowrap;vertical-align:top;font-family:"JetBrains Mono",Consolas,monospace}.hljs-ln-code{padding-left:12px !important;white-space:pre;vertical-align:top}pre,pre.code-processed .code-wrap,.hljs-ln-code{scrollbar-color:#3a383d #100f12}pre::-webkit-scrollbar-thumb,pre.code-processed .code-wrap::-webkit-scrollbar-thumb,.hljs-ln-code::-webkit-scrollbar-thumb{background:#3a383d}pre::-webkit-scrollbar-thumb:hover,pre.code-processed .code-wrap::-webkit-scrollbar-thumb:hover,.hljs-ln-code::-webkit-scrollbar-thumb:hover{background:#454148}pre::-webkit-scrollbar-track,pre.code-processed .code-wrap::-webkit-scrollbar-track,.hljs-ln-code::-webkit-scrollbar-track{background:#100f12}html.theme-light pre,html.theme-light pre.code-processed .code-wrap,html.theme-light .hljs-ln-code{scrollbar-color:#c9c1ad #dcd5c3}html.theme-light pre::-webkit-scrollbar-thumb,html.theme-light pre.code-processed .code-wrap::-webkit-scrollbar-thumb,html.theme-light .hljs-ln-code::-webkit-scrollbar-thumb{background:#c9c1ad}html.theme-light pre::-webkit-scrollbar-thumb:hover,html.theme-light pre.code-processed .code-wrap::-webkit-scrollbar-thumb:hover,html.theme-light .hljs-ln-code::-webkit-scrollbar-thumb:hover{background:#c9c1ad}html.theme-light pre::-webkit-scrollbar-track,html.theme-light pre.code-processed .code-wrap::-webkit-scrollbar-track,html.theme-light .hljs-ln-code::-webkit-scrollbar-track{background:#dcd5c3}#content a::after,#content a::before,#content-footer .navigation a::after,#content-footer .navigation a::before,a.next::after,a.previous::before,.bmc-btn::after,.bmc-btn::before,.bmc-powered::after,.bmc-powered::before{content:none !important}#content a[href^="http://"]:not([href^="https://YOUR-INSTANCE.example.com"])::after,#content a[href^="https://"]:not([href^="https://YOUR-INSTANCE.example.com"])::after{content:" ↗" !important;display:inline-block;margin-left:3px;font-size:0.85em;color:var(--text-link)}#content p a:not([class]),#content li a:not([class]){color:var(--text-link);text-decoration:none;background:transparent;border:0;padding:0;border-radius:0}#content p a:not([class]):hover,#content li a:not([class]):hover{color:var(--text-heading);background:transparent}.blog-pn{padding:6px 14px;border:1px solid rgba(124,154,161,0.35);border-radius:8px;background:rgba(124,154,161,0.08);transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}html.theme-light .blog-pn{border-color:rgba(61,107,114,0.35);background:rgba(61,107,114,0.08)}.blog-pn:hover{background:rgba(124,154,161,0.18);border-color:#7c9aa1}html.theme-light .blog-pn:hover{background:rgba(61,107,114,0.15);border-color:#3d6b72}.mermaid{margin:1.25em auto;overflow-x:auto;background:transparent}.mermaid svg{max-width:100%;height:auto}html.theme-dark .mermaid svg text,html.theme-dark .mermaid svg tspan,html.theme-dark .mermaid svg .nodeLabel,html.theme-dark .mermaid svg .edgeLabel p{fill:#e6dfd1 !important;color:#e6dfd1 !important}html.theme-light .mermaid svg text,html.theme-light .mermaid svg tspan,html.theme-light .mermaid svg .nodeLabel,html.theme-light .mermaid svg .edgeLabel p{fill:#2a2822 !important;color:#2a2822 !important}html.theme-dark .mermaid svg .titleText text,html.theme-dark .mermaid svg .node .label .nodeLabel{fill:#f3ede1 !important;color:#f3ede1 !important}html.theme-light .mermaid svg .titleText text,html.theme-light .mermaid svg .node .label .nodeLabel{fill:#2a2822 !important;color:#2a2822 !important}html.theme-dark .mermaid svg:not(:has(> g.nodes)) .node rect,html.theme-dark .mermaid svg:not(:has(> g.nodes)) .node polygon,html.theme-dark .mermaid svg:not(:has(> g.nodes)) .node circle,html.theme-dark .mermaid svg:not(:has(> g.nodes)) .node ellipse,html.theme-dark .mermaid svg:not(:has(> g.nodes)) .node path,html.theme-dark .mermaid svg .cluster rect{fill:#29282c !important;stroke:#7c9aa1 !important}html.theme-light .mermaid svg:not(:has(> g.nodes)) .node rect,html.theme-light .mermaid svg:not(:has(> g.nodes)) .node polygon,html.theme-light .mermaid svg:not(:has(> g.nodes)) .node circle,html.theme-light .mermaid svg:not(:has(> g.nodes)) .node ellipse,html.theme-light .mermaid svg:not(:has(> g.nodes)) .node path,html.theme-light .mermaid svg .cluster rect{fill:#dcd5c3 !important;stroke:#3d6b72 !important}html.theme-dark .mermaid svg .node rect,html.theme-light .mermaid svg .node rect,html.theme-dark .mermaid svg .cluster rect,html.theme-light .mermaid svg .cluster rect{rx:8px !important;ry:8px !important}html.theme-dark .mermaid svg .edgePaths path{fill:none !important;stroke:#999187 !important}html.theme-light .mermaid svg .edgePaths path{fill:none !important;stroke:#6f685c !important}html.theme-dark .mermaid svg marker.flowchart-v2,html.theme-dark .mermaid svg .arrowMarkerPath{fill:#999187 !important;stroke:#999187 !important}html.theme-light .mermaid svg marker.flowchart-v2,html.theme-light .mermaid svg .arrowMarkerPath{fill:#6f685c !important;stroke:#6f685c !important}html.theme-dark .mermaid svg g.edgeLabel{background:#1c1b1f !important;fill:#e6dfd1 !important;color:#e6dfd1 !important}html.theme-dark .mermaid svg .edgeLabel .labelBkg{fill:#1c1b1f !important;background:#1c1b1f !important;color:#e6dfd1 !important}html.theme-dark .mermaid svg .edgeLabel .labelBkg .edgeLabel{fill:#e6dfd1 !important;color:#e6dfd1 !important;background:#1c1b1f !important}html.theme-dark .mermaid svg .edgeLabel .labelBkg .edgeLabel p{fill:#e6dfd1 !important;color:#e6dfd1 !important;background:#1c1b1f !important}html.theme-light .mermaid svg g.edgeLabel{background:#dcd5c3 !important;fill:#2a2822 !important;color:#2a2822 !important}html.theme-light .mermaid svg .edgeLabel .labelBkg{fill:#dcd5c3 !important;background:#dcd5c3 !important;color:#2a2822 !important}html.theme-light .mermaid svg .edgeLabel .labelBkg .edgeLabel{fill:#2a2822 !important;color:#2a2822 !important;background:#dcd5c3 !important}html.theme-light .mermaid svg .edgeLabel .labelBkg .edgeLabel p{fill:#2a2822 !important;color:#2a2822 !important;background:#dcd5c3 !important}html.theme-dark .mermaid svg .cluster rect{stroke:#3a383d !important;fill:rgba(28,27,31,0.35) !important}html.theme-light .mermaid svg .cluster rect{stroke:#c9c1ad !important;fill:rgba(220,213,195,0.40) !important}html.theme-dark .mermaid svg .cluster .nodeLabel,html.theme-dark .mermaid svg .cluster-label text{fill:#999187 !important;color:#999187 !important}html.theme-light .mermaid svg .cluster .nodeLabel,html.theme-light .mermaid svg .cluster-label text{fill:#6f685c !important;color:#6f685c !important}.hljs-name{color:#d6b46a}.hljs-attr{color:#7c9aa1}html.theme-light .hljs-name{color:#3d6b72}html.theme-light .hljs-attr{color:#5c6631} + + +/* ---------- mermaid xychart-beta (bar & line charts) ---------- + flowchart selectors (.node/.edgePaths) don't match these; xychart renders + unclassed bar rects inside g[class*="bar-plot-N"], line paths inside + g[class*="line-plot-N"], axis/zero-line paths inside g[class*="-axis"], + plus an opaque full-bleed . */ +.mermaid svg rect.background{fill:transparent !important;stroke:none !important} +html.theme-dark .mermaid svg g[class*="bar-plot"] rect{fill:#7c9aa1 !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg g[class*="line-plot"] path{fill:none !important;stroke:#e0914f !important;stroke-width:2px !important} +html.theme-dark .mermaid svg g[class*="line-plot"] circle{fill:#e0914f !important} +html.theme-dark .mermaid svg g[class*="-axis"] path,html.theme-dark .mermaid svg g[class*="-axis"] line{stroke:#999187 !important} +html.theme-light .mermaid svg g[class*="bar-plot"] rect{fill:#3d6b72 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg g[class*="line-plot"] path{fill:none !important;stroke:#a85f1d !important;stroke-width:2px !important} +html.theme-light .mermaid svg g[class*="line-plot"] circle{fill:#a85f1d !important} +html.theme-light .mermaid svg g[class*="-axis"] path,html.theme-light .mermaid svg g[class*="-axis"] line{stroke:#6f685c !important} + +/* ---------- mermaid: uebrige Diagrammtypen (v11.16, Klassen aus Bundle-Sources verifiziert) ---------- + Reihenfolge: shared (markers, background) -> sequence -> gantt/journey -> pie -> quadrant + -> class/state/er -> gitgraph -> timeline -> mindmap -> packet -> architecture -> sankey -> block */ +.mermaid svg rect.background{fill:transparent !important} +html.theme-dark .mermaid svg marker path{fill:#999187 !important;stroke:#999187 !important} +html.theme-light .mermaid svg marker path{fill:#6f685c !important;stroke:#6f685c !important} +/* sequence */ +html.theme-dark .mermaid svg rect.actor,html.theme-dark .mermaid svg polygon.actor,html.theme-dark .mermaid svg path.actor{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg .actor-line,html.theme-dark .mermaid svg line.actor-line{stroke:#999187 !important} +html.theme-dark .mermaid svg .messageLine0,html.theme-dark .mermaid svg .messageLine1,html.theme-dark .mermaid svg .loopLine,html.theme-dark .mermaid svg line.loopLine{stroke:#999187 !important} +html.theme-dark .mermaid svg rect.labelBox{fill:#3a383d !important;stroke:#999187 !important} +html.theme-dark .mermaid svg .note,html.theme-dark .mermaid svg path.note{fill:#3a383d !important;stroke:#d6b46a !important} +html.theme-dark .mermaid svg rect.box{fill:rgba(28,27,31,0.55) !important;stroke:#454148 !important} +html.theme-dark .mermaid svg .actorActivations path,html.theme-dark .mermaid svg path.actorActivations{fill:rgba(124,154,161,0.25) !important;stroke:none !important} +html.theme-dark .mermaid svg text.sequenceNumber{fill:#1c1b1f !important} +html.theme-light .mermaid svg rect.actor,html.theme-light .mermaid svg polygon.actor,html.theme-light .mermaid svg path.actor{fill:#dcd5c3 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg .actor-line,html.theme-light .mermaid svg line.actor-line{stroke:#6f685c !important} +html.theme-light .mermaid svg .messageLine0,html.theme-light .mermaid svg .messageLine1,html.theme-light .mermaid svg .loopLine,html.theme-light .mermaid svg line.loopLine{stroke:#6f685c !important} +html.theme-light .mermaid svg rect.labelBox{fill:#c9c1ad !important;stroke:#6f685c !important} +html.theme-light .mermaid svg .note,html.theme-light .mermaid svg path.note{fill:#c9c1ad !important;stroke:#8a6a24 !important} +html.theme-light .mermaid svg rect.box{fill:rgba(233,227,213,0.55) !important;stroke:#c9c1ad !important} +html.theme-light .mermaid svg .actorActivations path,html.theme-light .mermaid svg path.actorActivations{fill:rgba(61,107,114,0.18) !important;stroke:none !important} +/* gantt + user-journey (gleiche task-Klassen-Familie) */ +html.theme-dark .mermaid svg .grid .tick line{stroke:#3a383d !important} +html.theme-dark .mermaid svg .grid path{stroke:#3a383d !important} +html.theme-dark .mermaid svg .today{stroke:#c15c46 !important;stroke-width:2px !important} +html.theme-dark .mermaid svg rect.task{fill:#3a383d !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg rect.done{fill:#29282c !important;stroke:#454148 !important} +html.theme-dark .mermaid svg rect.active{fill:#454148 !important;stroke:#d6b46a !important} +html.theme-dark .mermaid svg rect.crit,html.theme-dark .mermaid svg rect.activeCrit,html.theme-dark .mermaid svg rect.doneCrit{fill:#29282c !important;stroke:#c15c46 !important} +html.theme-dark .mermaid svg path.milestone{fill:#d6b46a !important;stroke:#d6b46a !important} +html.theme-dark .mermaid svg rect.section,html.theme-dark .mermaid svg rect.section0,html.theme-dark .mermaid svg rect.section1{fill:rgba(28,27,31,0.35) !important;stroke:#3a383d !important} +html.theme-light .mermaid svg .grid .tick line{stroke:#c9c1ad !important} +html.theme-light .mermaid svg .grid path{stroke:#c9c1ad !important} +html.theme-light .mermaid svg .today{stroke:#96392a !important;stroke-width:2px !important} +html.theme-light .mermaid svg rect.task{fill:#c9c1ad !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg rect.done{fill:#dcd5c3 !important;stroke:#c9c1ad !important} +html.theme-light .mermaid svg rect.active{fill:#c9c1ad !important;stroke:#8a6a24 !important} +html.theme-light .mermaid svg rect.crit,html.theme-light .mermaid svg rect.activeCrit,html.theme-light .mermaid svg rect.doneCrit{fill:#dcd5c3 !important;stroke:#96392a !important} +html.theme-light .mermaid svg path.milestone{fill:#5c6631 !important;stroke:#5c6631 !important} +html.theme-light .mermaid svg rect.section,html.theme-light .mermaid svg rect.section0,html.theme-light .mermaid svg rect.section1{fill:rgba(220,213,195,0.4) !important;stroke:#c9c1ad !important} +/* pie: 8-Farben-Zyklus statt Default-Palette */ +html.theme-dark .mermaid svg .pieOuterCircle{stroke:#3a383d !important;fill:none !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n+1){fill:#7c9aa1 !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n+2){fill:#d6b46a !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n+3){fill:#c15c46 !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n+4){fill:#8f9a5c !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n+5){fill:#b47e99 !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n+6){fill:#e0914f !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n+7){fill:#8f9a5c !important} +html.theme-dark .mermaid svg path.slice:nth-of-type(8n){fill:#999187 !important} +html.theme-dark .mermaid svg path.slice{stroke:#1c1b1f !important} +html.theme-light .mermaid svg .pieOuterCircle{stroke:#c9c1ad !important;fill:none !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n+1){fill:#3d6b72 !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n+2){fill:#5c6631 !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n+3){fill:#96392a !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n+4){fill:#5c6631 !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n+5){fill:#7c4a66 !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n+6){fill:#a85f1d !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n+7){fill:#6a7539 !important} +html.theme-light .mermaid svg path.slice:nth-of-type(8n){fill:#6f685c !important} +html.theme-light .mermaid svg path.slice{stroke:#e9e3d5 !important} +/* quadrant (nutzt chartBuilder-Achsen wie xychart -> bereits gedeckt) */ +html.theme-dark .mermaid svg .quadrants rect:nth-of-type(4n+1){fill:rgba(124,154,161,0.20) !important} +html.theme-dark .mermaid svg .quadrants rect:nth-of-type(4n+2){fill:rgba(214,180,106,0.15) !important} +html.theme-dark .mermaid svg .quadrants rect:nth-of-type(4n+3){fill:rgba(180,126,153,0.15) !important} +html.theme-dark .mermaid svg .quadrants rect:nth-of-type(4n){fill:rgba(143,154,92,0.18) !important} +html.theme-dark .mermaid svg .quadrants rect{stroke:#3a383d !important} +html.theme-dark .mermaid svg .data-point circle{fill:#e0914f !important;stroke:#1c1b1f !important} +html.theme-light .mermaid svg .quadrants rect:nth-of-type(4n+1){fill:rgba(61,107,114,0.12) !important} +html.theme-light .mermaid svg .quadrants rect:nth-of-type(4n+2){fill:rgba(92,102,49,0.12) !important} +html.theme-light .mermaid svg .quadrants rect:nth-of-type(4n+3){fill:rgba(124,74,102,0.12) !important} +html.theme-light .mermaid svg .quadrants rect:nth-of-type(4n){fill:rgba(92,102,49,0.12) !important} +html.theme-light .mermaid svg .quadrants rect{stroke:#c9c1ad !important} +html.theme-light .mermaid svg .data-point circle{fill:#a85f1d !important;stroke:#e9e3d5 !important} +/* class / state / er (flow-Familie erbt .node-Regeln; hier die Ergaenzungen) */ +html.theme-dark .mermaid svg path.divider{stroke:#999187 !important} +html.theme-dark .mermaid svg .stateGroup path,html.theme-dark .mermaid svg .stateGroup rect{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg .transition path,html.theme-dark .mermaid svg path.transition{fill:none !important;stroke:#999187 !important} +html.theme-dark .mermaid svg .relationshipLine,html.theme-dark .mermaid svg .edgePath path{fill:none !important;stroke:#999187 !important} +html.theme-light .mermaid svg path.divider{stroke:#6f685c !important} +html.theme-light .mermaid svg .stateGroup path,html.theme-light .mermaid svg .stateGroup rect{fill:#dcd5c3 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg .transition path,html.theme-light .mermaid svg path.transition{fill:none !important;stroke:#6f685c !important} +html.theme-light .mermaid svg .relationshipLine,html.theme-light .mermaid svg .edgePath path{fill:none !important;stroke:#6f685c !important} +/* gitGraph */ +html.theme-dark .mermaid svg circle.commit{fill:#d6b46a !important;stroke:#1c1b1f !important} +html.theme-dark .mermaid svg path.branch,html.theme-dark .mermaid svg path.arrow{stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg .tag-hole{fill:#1c1b1f !important} +html.theme-light .mermaid svg circle.commit{fill:#5c6631 !important;stroke:#e9e3d5 !important} +html.theme-light .mermaid svg path.branch,html.theme-light .mermaid svg path.arrow{stroke:#3d6b72 !important} +html.theme-light .mermaid svg .tag-hole{fill:#e9e3d5 !important} +/* timeline */ +html.theme-dark .mermaid svg [class*="eventWrapper"] rect,html.theme-dark .mermaid svg [class*="eventWrapper"] path{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg [class*="lineWrapper"] path,html.theme-dark .mermaid svg [class*="lineWrapper"] line{stroke:#999187 !important} +html.theme-light .mermaid svg [class*="eventWrapper"] rect,html.theme-light .mermaid svg [class*="eventWrapper"] path{fill:#dcd5c3 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg [class*="lineWrapper"] path,html.theme-light .mermaid svg [class*="lineWrapper"] line{stroke:#6f685c !important} +/* mindmap (11.x-Renderer) */ +html.theme-dark .mermaid svg [class*="node-bkg"]{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg [class^="node-line-"]{fill:none !important;stroke:#999187 !important} +html.theme-light .mermaid svg [class*="node-bkg"]{fill:#dcd5c3 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg [class^="node-line-"]{fill:none !important;stroke:#6f685c !important} +/* packet */ +html.theme-dark .mermaid svg .packetBlock rect,html.theme-dark .mermaid svg rect.packetBlock{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg .packetByte{stroke:#3a383d !important} +html.theme-light .mermaid svg .packetBlock rect,html.theme-light .mermaid svg rect.packetBlock{fill:#dcd5c3 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg .packetByte{stroke:#c9c1ad !important} +/* architecture */ +html.theme-dark .mermaid svg .architecture-groups rect{fill:rgba(28,27,31,0.35) !important;stroke:#454148 !important} +html.theme-dark .mermaid svg .architecture-services rect,html.theme-dark .mermaid svg .architecture-services path{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg .architecture-edges path{stroke:#999187 !important;fill:none !important} +html.theme-light .mermaid svg .architecture-groups rect{fill:rgba(220,213,195,0.4) !important;stroke:#c9c1ad !important} +html.theme-light .mermaid svg .architecture-services rect,html.theme-light .mermaid svg .architecture-services path{fill:#dcd5c3 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg .architecture-edges path{stroke:#6f685c !important;fill:none !important} +/* sankey: siehe Dateiende (sankey v2) */ +/* block */ +html.theme-dark .mermaid svg g.block rect,html.theme-dark .mermaid svg g.block path{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-light .mermaid svg g.block rect,html.theme-light .mermaid svg g.block path{fill:#dcd5c3 !important;stroke:#3d6b72 !important} + +/* ---------- sankey: node-colors kommen jetzt per init-directive aus dem diagramm + (conf.nodeColors, gemappt auf node-ids); gradiente folgen automatisch. + CSS haelt nur noch blend-mode + trennstroke. ---------- */ +html.theme-dark .mermaid svg .links g.link{mix-blend-mode:normal !important} +html.theme-dark .mermaid svg .nodes g.node rect{stroke:#1c1b1f !important} +html.theme-light .mermaid svg .links g.link{mix-blend-mode:normal !important} +html.theme-light .mermaid svg .nodes g.node rect{stroke:#e9e3d5 !important} +/* ---------- kanban ---------- */ +html.theme-dark .mermaid svg .sections rect,html.theme-dark .mermaid svg [class*="section"] rect{fill:rgba(28,27,31,0.35) !important;stroke:#3a383d !important} +html.theme-dark .mermaid svg .items rect,html.theme-dark .mermaid svg [class*="item"] rect{fill:#29282c !important;stroke:#7c9aa1 !important} +html.theme-light .mermaid svg .sections rect,html.theme-light .mermaid svg [class*="section"] rect{fill:rgba(220,213,195,0.4) !important;stroke:#c9c1ad !important} +html.theme-light .mermaid svg .items rect,html.theme-light .mermaid svg [class*="item"] rect{fill:#dcd5c3 !important;stroke:#3d6b72 !important} +/* ---------- venn ---------- */ +html.theme-dark .mermaid svg [class*="venn"] path:nth-of-type(6n+1),html.theme-dark .mermaid svg path.venn:nth-of-type(6n+1){fill:#7c9aa1 !important;stroke:#7c9aa1 !important} +html.theme-dark .mermaid svg [class*="venn"] path:nth-of-type(6n+2),html.theme-dark .mermaid svg path.venn:nth-of-type(6n+2){fill:#d6b46a !important;stroke:#d6b46a !important} +html.theme-dark .mermaid svg [class*="venn"] path:nth-of-type(6n+3),html.theme-dark .mermaid svg path.venn:nth-of-type(6n+3){fill:#b47e99 !important;stroke:#b47e99 !important} +html.theme-dark .mermaid svg [class*="venn"] path:nth-of-type(6n+4),html.theme-dark .mermaid svg path.venn:nth-of-type(6n+4){fill:#8f9a5c !important;stroke:#8f9a5c !important} +html.theme-dark .mermaid svg [class*="venn"] path:nth-of-type(6n+5),html.theme-dark .mermaid svg path.venn:nth-of-type(6n+5){fill:#e0914f !important;stroke:#e0914f !important} +html.theme-dark .mermaid svg [class*="venn"] path:nth-of-type(6n),html.theme-dark .mermaid svg path.venn:nth-of-type(6n){fill:#8f9a5c !important;stroke:#8f9a5c !important} +html.theme-dark .mermaid svg [class*="venn"] path{fill-opacity:0.45 !important;stroke-width:2px !important} +html.theme-light .mermaid svg [class*="venn"] path:nth-of-type(6n+1),html.theme-light .mermaid svg path.venn:nth-of-type(6n+1){fill:#3d6b72 !important;stroke:#3d6b72 !important} +html.theme-light .mermaid svg [class*="venn"] path:nth-of-type(6n+2),html.theme-light .mermaid svg path.venn:nth-of-type(6n+2){fill:#5c6631 !important;stroke:#5c6631 !important} +html.theme-light .mermaid svg [class*="venn"] path:nth-of-type(6n+3),html.theme-light .mermaid svg path.venn:nth-of-type(6n+3){fill:#7c4a66 !important;stroke:#7c4a66 !important} +html.theme-light .mermaid svg [class*="venn"] path:nth-of-type(6n+4),html.theme-light .mermaid svg path.venn:nth-of-type(6n+4){fill:#5c6631 !important;stroke:#5c6631 !important} +html.theme-light .mermaid svg [class*="venn"] path:nth-of-type(6n+5),html.theme-light .mermaid svg path.venn:nth-of-type(6n+5){fill:#a85f1d !important;stroke:#a85f1d !important} +html.theme-light .mermaid svg [class*="venn"] path:nth-of-type(6n),html.theme-light .mermaid svg path.venn:nth-of-type(6n){fill:#6a7539 !important;stroke:#6a7539 !important} +html.theme-light .mermaid svg [class*="venn"] path{fill-opacity:0.35 !important;stroke-width:2px !important} + +/* ---------- sankey: bars & link-gradiente beziehen ihre farben beide aus conf.nodeColors (init-directive), koennen nicht mehr auseinanderlaufen; flowchart .node-rect-regel ist per :not(:has(> g.nodes)) raus. */