diff --git a/README.md b/README.md index 78059c3..a718c15 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,24 @@ Installation (Gitea 1.27+): 3. Restart Gitea, then pick the theme from **Explore → Preferences → UI theme**. +## Blog share themes (same palettes) + +The public blog (`richard.familie-zink.org`) runs on Trilium's share feature with a custom EJS +template; its frontend styling lives in two note-based stylesheets, mirrored here: + +| File | Role | +|---|---| +| `blog-share/blog_share_base.css` | Layout/shared widgets (posts, search, pagination, BMC box, code blocks, scrollbars) – theme-independent, driven by the `--*` variables below | +| `blog-share/blog_share_theme_ash.css` | Ash palette for both `html.theme-light` / `html.theme-dark`, incl. all Mermaid chart-type rules | + +Notes: + +- **Source of truth** is the matching Trilium code notes (`.blog` folder) which the share links via + `shareCss`; this repo copy is the backup/mirror. Copy changes back and forth deliberately. +- The `@font-face` for the "Cookie" handwriting font (Buy-Me-a-Coffee button) resolves against a + live Trilium **file note id** (`/api/notes//download`) – it only works when served from the + same Trilium instance; the mirrored file contains the real id of this instance. + ## Customising The themes are variable-driven. Edit the `--*` values inside the `#trilium-app { ... }` block and the diff --git a/blog-share/blog_share_base.css b/blog-share/blog_share_base.css new file mode 100644 index 0000000..d333c4a --- /dev/null +++ b/blog-share/blog_share_base.css @@ -0,0 +1 @@ +#header-logo img{display:none}#header-logo::before{content:"💻";font-size:1.5em;line-height:1;margin-right:8px;display:inline-block;vertical-align:middle}@font-face{font-family:"Cookie";src:url(/api/notes/qlZKEUC2BfCT/download) format("woff2");font-weight:400;font-display:swap}#bmc-links{margin-top:auto;padding:8px 25px 4px;background:var(--background-secondary);display:flex;flex-direction:column;gap:2px}.bmc-link{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 24px;border-radius:6px;color:var(--text-heading);text-decoration:none;font-size:0.9em;transition:background-color 150ms ease,color 150ms ease}.bmc-link:hover{background:var(--background-highlight);color:var(--text-heading);text-decoration:none}.bmc-link .tn-icon{color:var(--text-link)}.reading-time{font-size:0.8em;color:var(--text-menu);margin:-0.9em 0 1.25em}.blog-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:1.5em 0 0;padding-top:1em;border-top:1px solid var(--background-highlight)}.blog-pagination .blog-page-num{font-size:0.85em;color:var(--text-menu)}#content-footer .navigation{display:none}.blog-prevnext{display:flex;justify-content:space-between;gap:12px;margin:1.5em 0 0;padding-top:1em;border-top:1px solid var(--background-highlight)}a.blog-pn{display:flex;flex-direction:column;gap:2px;max-width:45%;color:var(--text-heading);text-decoration:none;transition:color 150ms ease}.blog-pn.next{margin-left:auto;align-items:flex-end;text-align:right}.blog-pn-label{font-size:0.72em;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-menu)}.blog-pn:hover{color:var(--text-link);text-decoration:none}.blog-pn.empty{display:none}.blog-search{margin:0.5em 0 1em}.blog-search-input{width:100%;box-sizing:border-box;padding:10px 14px;border-radius:8px;border:1px solid var(--background-highlight);background:var(--background-secondary);color:var(--text-heading);font-size:1em}.blog-search-input:focus{outline:none;border-color:var(--text-link)}.blog-search-list{list-style:none;padding:0;margin:1em 0 0}.blog-search-hit{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:8px;border:1px solid var(--background-highlight);background:var(--blog-card-bg);color:var(--text-heading);text-decoration:none;margin-bottom:8px;transition:border-color 150ms ease}.blog-search-hit:hover{border-color:var(--text-link);text-decoration:none}.blog-search-path{font-size:0.8em;color:var(--text-menu)}.blog-search-none{color:var(--text-menu)}.blog-post{padding:1.2em 1.4em;margin-bottom:1.25em;border:1px solid var(--background-highlight);border-radius:10px;background:var(--blog-card-bg);transition:border-color 150ms ease,box-shadow 150ms ease;cursor:pointer}.blog-post:last-child{margin-bottom:0}.blog-post:hover{border-color:var(--text-link);box-shadow:0 2px 8px rgba(0,0,0,0.18)}#content .blog-post:first-of-type{margin-top:1.5em}.blog-post-inner{display:flex;gap:16px;align-items:stretch}.blog-thumb-link{flex:0 0 auto;width:min(256px,35%);text-decoration:none}.blog-thumb{display:block;width:100%;height:100%;max-height:256px;object-fit:cover;border-radius:8px;border:1px solid var(--background-highlight)}.blog-post-body{flex:1;min-width:0}.blog-post-title{margin:0 0 0.25em}.blog-post-title a{color:var(--text-heading);text-decoration:none;transition:color 150ms ease}.blog-post-title a:hover{color:var(--text-link);text-decoration:none}.blog-post-meta{display:flex;gap:12px;font-size:0.85em;color:var(--text-menu);margin-bottom:0.5em}.blog-post-date{font-variant-numeric:tabular-nums;opacity:0.85}.blog-post-category{background:var(--background-highlight);border-radius:8px;padding:1px 10px;color:var(--text-heading);font-weight:600}.blog-post-summary{margin:0 0 0.5em;color:var(--text-primary)}.blog-post-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:0.78em;color:var(--text-link);background:var(--background-secondary);border:1px solid var(--background-highlight);border-radius:8px;padding:1px 8px}a.tag{text-decoration:none;transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease}a.tag:hover{background:var(--background-highlight);border-color:var(--text-link);color:var(--text-heading);text-decoration:none}.article-meta{display:flex;gap:12px;font-size:0.9em;color:var(--text-menu);margin-bottom:1em;padding-bottom:1em;border-bottom:1px solid var(--background-highlight)}#content figure.image{margin:1.25em auto}#content figure img,#content img:not(.blog-thumb){border-radius:8px}.blog-subcategories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.25em}.blog-subcategory{display:inline-flex;align-items:center;gap:6px;background:var(--background-secondary);border:1px solid var(--background-highlight);border-radius:8px;padding:4px 12px;color:var(--text-heading);text-decoration:none;font-weight:600;transition:background-color 150ms ease,border-color 150ms ease}.blog-subcategory i{color:var(--text-link)}.blog-subcategory:hover{background:var(--background-highlight);border-color:var(--text-link);color:var(--text-heading);text-decoration:none}.blog-garden-table{width:100%}.blog-garden-table tbody td:first-child{background:transparent !important;font-weight:normal}.note-type{display:inline-block;font-size:0.8em;padding:2px 10px;border-radius:8px;background:var(--background-highlight);color:var(--text-heading);font-weight:600;text-transform:capitalize;white-space:nowrap}pre.code-processed{position:relative;display:flex;align-items:flex-start;line-height:1.6}pre.code-processed .code-wrap{flex:1;min-width:0;overflow-x:auto;border-radius:8px}pre.code-processed .code-wrap code{display:block;line-height:inherit;padding:0;margin:0}pre.code-processed .code-lines{flex-shrink:0;user-select:none;text-align:right;padding:0 12px 0 0;margin:0 12px 0 0;border-right:1px solid var(--background-highlight);color:var(--text-menu);white-space:pre;font-family:"JetBrains Mono",Consolas,monospace;font-size:1em;line-height:inherit}pre.code-processed .code-copy-btn,.mermaid-source pre .code-copy-btn{position:absolute;top:6px;right:6px;z-index:2;font-size:0.75em;padding:2px 10px;border-radius:6px;border:1px solid var(--background-highlight);background:var(--background-secondary);color:var(--text-heading);cursor:pointer;opacity:0.6;transition:opacity 150ms ease}pre.code-processed:hover .code-copy-btn,.mermaid-source pre:hover .code-copy-btn{opacity:1}pre.code-processed .code-copy-btn:hover,.mermaid-source pre .code-copy-btn:hover{border-color:var(--text-link);opacity:1}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}@media (max-width:48em){#left-pane,#toc-pane{z-index:1000}#header{position:relative;z-index:1000}}#content figure.image img.palette-img{border:1px solid var(--background-highlight);border-radius:6px}#content figure.image img:not(.palette-img){max-height:85vh;width:auto}#content a:focus-visible,#menu a:focus-visible,#childLinks a:focus-visible,#site-header input:focus-visible,.blog-search-header-input:focus-visible,#header button:focus-visible,.theme-selection .switch input:focus-visible+.slider{outline:2px solid var(--text-link);outline-offset:2px;border-radius:6px}.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--background-active);color:var(--background-secondary);padding:8px 14px;border-radius:0 0 8px 0;font-size:.9em;text-decoration:none}.skip-link:focus{left:0}.blog-related{margin-top:2em;padding-top:1.25em;border-top:1px solid var(--background-highlight)}.blog-related ul{list-style:none;padding:0;margin:.5em 0 0;display:flex;flex-wrap:wrap;gap:8px}.blog-related a{display:inline-block;padding:4px 12px;border:1px solid var(--background-highlight);border-radius:8px;background:var(--blog-card-bg);color:var(--text-heading);text-decoration:none;font-size:.9em}.blog-related a:hover{border-color:var(--text-link);color:var(--text-link);text-decoration:none}a[href^="https://richard.familie-zink.org"]::after,a[href^="http://richard.familie-zink.org"]::after{content:none !important;display:none !important}a[href^="https://richard.familie-zink.org"]:not([class]),a[href^="http://richard.familie-zink.org"]:not([class]){display:inline !important;gap:0 !important}#content a[href^="https://richard.familie-zink.org"],#content a[href^="http://richard.familie-zink.org"]{padding-right:0 !important}a.tag,a.blog-subcategory,a.blog-post-category,a.note-type,a.note-state{display:inline-flex;align-items:center;justify-content:center;gap:0 !important;text-align:center}#content a.tag{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;padding:2px 12px !important;line-height:1.6}a.tag{padding:2px 12px !important}a.blog-post-category{padding-right:10px !important;padding-left:10px !important}a.blog-subcategory{padding-right:12px !important;padding-left:12px !important;gap:6px !important}#content a.blog-pn{padding:6px 14px !important} \ No newline at end of file diff --git a/blog-share/blog_share_theme_ash.css b/blog-share/blog_share_theme_ash.css new file mode 100644 index 0000000..0ce1210 --- /dev/null +++ b/blog-share/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. */