414 lines
14 KiB
CSS
414 lines
14 KiB
CSS
/*
|
|
* Gruvbox Dark Theme for TriliumNext
|
|
*
|
|
* Derived from the current default (next) theme via #appThemeBase=next-dark.
|
|
* Fixed dark variant (no automatic light/dark switching for user themes).
|
|
*
|
|
* Gruvbox dark palette:
|
|
* bg #282828 / #3c3836 / #504945 / #32302f fg #ebdbb2 / #fbf1c7
|
|
* accents: red #fb4934 green #b8bb26 yellow #fabd2f
|
|
* blue #83a598 purple #d3869b aqua #8ec07c orange #fe8019
|
|
*/
|
|
|
|
#trilium-app {
|
|
--theme-style: dark;
|
|
|
|
/* Main surfaces */
|
|
--main-background-color: #282828;
|
|
--main-text-color: #ebdbb2;
|
|
--main-border-color: #504945;
|
|
--subtle-border-color: #3c3836;
|
|
--dropdown-border-color: #504945;
|
|
--dropdown-shadow-opacity: 0.6;
|
|
|
|
/* Accented / highlight */
|
|
--accented-background-color: #3c3836;
|
|
--more-accented-background-color: #504945;
|
|
|
|
/* Cards & dialogs */
|
|
--card-background-color: #3c3836;
|
|
--card-background-hover-color: #504945;
|
|
--card-border-color: #504945;
|
|
--tool-dialog-background-color: #32302f;
|
|
--modal-background-color: #32302f;
|
|
--modal-border-color: #504945;
|
|
|
|
/* Text & muted */
|
|
--muted-text-color: #a89984;
|
|
--menu-text-color: #ebdbb2;
|
|
--menu-background-color: #3c3836e6;
|
|
--menu-background-color-no-backdrop: #32302f;
|
|
|
|
/* Links */
|
|
--link-color: #83a598;
|
|
--link-hover-color: #8ec07c;
|
|
--link-hover-background: #8ec07c24;
|
|
|
|
/* Inputs */
|
|
--input-background-color: #50494560;
|
|
--input-text-color: #ebdbb2;
|
|
--input-placeholder-color: #a8998480;
|
|
--input-hover-background: #665c5460;
|
|
--input-focus-outline-color: #83a598;
|
|
--input-focus-background: #665c5450;
|
|
--input-focus-color: #fbf1c7;
|
|
--input-action-button-color: #a89984;
|
|
--input-action-button-hover: #fbf1c7;
|
|
|
|
/* Selection */
|
|
--selection-background-color: #83a598;
|
|
--hover-item-text-color: #fbf1c7;
|
|
--hover-item-background-color: #3c3836;
|
|
--active-item-text-color: #fbf1c7;
|
|
--active-item-background-color: #504945;
|
|
|
|
/* Left pane / launcher */
|
|
--left-pane-background-color: #1d2021;
|
|
--left-pane-text-color: #a89984;
|
|
--left-pane-icon-color: #bdae93;
|
|
--left-pane-item-hover-background: #3c3836;
|
|
--left-pane-item-selected-background: #504945;
|
|
--left-pane-item-selected-color: #fbf1c7;
|
|
--launcher-pane-background-color: #1d2021;
|
|
--launcher-pane-text-color: #a89984;
|
|
--launcher-pane-vert-background-color: #1d2021;
|
|
--launcher-pane-vert-text-color: #a89984;
|
|
--launcher-pane-horiz-background-color: #1d2021;
|
|
--launcher-pane-horiz-text-color: #a89984;
|
|
|
|
/* Tabs & breadcrumb / window backgrounds */
|
|
--window-background-color-bgfx: #1d2021;
|
|
--root-background: #1d2021;
|
|
--tab-background-color: #1d2021;
|
|
--note-split-background-color: #282828;
|
|
--center-pane-background-color-bgfx: #282828;
|
|
--launcher-pane-horiz-background-color-bgfx: #1d2021;
|
|
--center-pane-horiz-layout-background-color-bgfx: #282828;
|
|
--center-pane-vert-layout-background-color-bgfx: #282828;
|
|
|
|
/* Tabs */
|
|
--active-tab-background-color: #32302f;
|
|
--active-tab-text-color: #fbf1c7;
|
|
--inactive-tab-background-color: #282828;
|
|
--inactive-tab-text-color: #a89984;
|
|
--tab-close-button-hover-background: #3c3836;
|
|
--tab-close-button-hover-color: #fb4934;
|
|
|
|
/* Right pane */
|
|
--right-pane-background-color: #1d2021;
|
|
--right-pane-heading-color: #ebdbb2;
|
|
--right-pane-item-hover-background: #3c3836;
|
|
--right-pane-item-hover-color: #fbf1c7;
|
|
|
|
/* Bottom panel */
|
|
--bottom-panel-background-color: #1d2021;
|
|
--bottom-panel-title-bar-background-color: #282828;
|
|
|
|
/* Status bar */
|
|
--status-bar-border-color: #504945;
|
|
|
|
/* Code / inline code */
|
|
--inline-code-background-color: #3c3836;
|
|
--inline-code-border-color: #504945;
|
|
--code-block-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
|
|
|
|
/* Note icons */
|
|
--note-icon-background-color: #3c3836;
|
|
--note-icon-color: #ebdbb2;
|
|
|
|
/* Floating buttons */
|
|
--floating-button-background-color: #3c3836;
|
|
--floating-button-color: #ebdbb2;
|
|
--floating-button-hover-background: #504945;
|
|
--floating-button-hover-color: #fbf1c7;
|
|
|
|
/* Tooltips */
|
|
--tooltip-background-color: #3c3836;
|
|
--tooltip-foreground-color: #ebdbb2;
|
|
|
|
/* Scrollbar */
|
|
--scrollbar-thumb-color: #504945;
|
|
--scrollbar-thumb-hover-color: #665c54;
|
|
--scrollbar-background-color: #1d2021;
|
|
|
|
/* Checkboxes / tasks */
|
|
--task-checkbox-done-color: #b8bb26;
|
|
--task-checkbox-glyph-color: #fbf1c7;
|
|
--task-checkbox-without-state-background: #504945;
|
|
--task-checkbox-with-state-background: #83a598;
|
|
|
|
/* Mermaid */
|
|
--mermaid-theme: dark;
|
|
|
|
/* Buttons */
|
|
--cmd-button-background-color: #504945a0;
|
|
--cmd-button-text-color: #ebdbb2;
|
|
--cmd-button-hover-background-color: #665c54a0;
|
|
--cmd-button-hover-text-color: #fbf1c7;
|
|
--icon-button-hover-background: #3c3836;
|
|
--icon-button-hover-color: #fbf1c7;
|
|
|
|
/* Logs */
|
|
--log-error-color: #fb4934;
|
|
--log-info-color: #83a598;
|
|
--log-slow-color: #fabd2f;
|
|
--log-success-color: #b8bb26;
|
|
|
|
/* Badges */
|
|
--badge-background-color: #504945;
|
|
--badge-text-color: #ebdbb2;
|
|
|
|
/* CKEditor editor dropdowns / panels (no yellow) */
|
|
--ck-color-base-foreground: #3c3836;
|
|
--ck-color-base-background: #282828;
|
|
--ck-color-dialog-background: #282828;
|
|
--ck-color-dropdown-panel-background: #3c3836;
|
|
--ck-color-dropdown-panel-border: #504945;
|
|
--ck-color-list-background: #3c3836;
|
|
--ck-color-list-button-hover-background: #504945;
|
|
--ck-color-list-button-on-background: #504945;
|
|
--ck-color-button-default-background: #3c3836;
|
|
--ck-color-button-default-hover-background: #504945;
|
|
--ck-color-button-on-background: #504945;
|
|
--ck-color-button-on-hover-background: #665c54;
|
|
--ck-color-button-action-background: #504945;
|
|
--ck-color-button-action-hover-background: #665c54;
|
|
--ck-color-input-background: #282828;
|
|
--ck-editor-toolbar-button-on-background: #504945;
|
|
--ck-editor-toolbar-button-on-color: #fbf1c7;
|
|
--ck-editor-toolbar-dropdown-button-open-background: #3c3836;
|
|
}
|
|
|
|
/* Menus & dropdowns are often rendered outside #trilium-app, so also set them globally. */
|
|
:root {
|
|
--menu-text-color: #ebdbb2;
|
|
--menu-background-color: #282828;
|
|
--menu-background-color-no-backdrop: #282828;
|
|
--menu-item-icon-color: #a89984;
|
|
--menu-item-disabled-opacity: 0.5;
|
|
--menu-item-keyboard-shortcut-color: #a8998490;
|
|
--menu-item-arrow-color: #a89984a3;
|
|
--menu-item-delimiter-color: #3c3836;
|
|
--menu-item-group-header-color: #a89984;
|
|
--menu-section-background-color: #282828;
|
|
--menu-hover-item-background-color: #3c3836;
|
|
--menu-hover-item-text-color: #fbf1c7;
|
|
--hover-item-background-color: #3c3836;
|
|
--active-item-background-color: #504945;
|
|
--dropdown-border-color: #3c3836;
|
|
--dropdown-item-icon-destructive-color: #fb4934;
|
|
|
|
/* CKEditor editor dropdowns are rendered outside #trilium-app, so set them globally (no yellow). */
|
|
--ck-color-base-text: #ebdbb2;
|
|
--ck-color-text: #ebdbb2;
|
|
--ck-color-base-foreground: #3c3836;
|
|
--ck-color-base-background: #282828;
|
|
--ck-color-dialog-background: #282828;
|
|
--ck-color-dropdown-panel-background: #3c3836;
|
|
--ck-color-dropdown-panel-border: #504945;
|
|
--ck-color-list-background: #3c3836;
|
|
--ck-color-list-button-hover-background: #504945;
|
|
--ck-color-list-button-on-background: #504945;
|
|
--ck-color-list-button-on-text: #fbf1c7;
|
|
--ck-color-button-default-background: #3c3836;
|
|
--ck-color-button-default-hover-background: #504945;
|
|
--ck-color-button-on-background: #504945;
|
|
--ck-color-button-on-hover-background: #665c54;
|
|
--ck-color-button-action-background: #504945;
|
|
--ck-color-button-action-hover-background: #665c54;
|
|
--ck-color-input-background: #282828;
|
|
--ck-color-input-text: #ebdbb2;
|
|
--ck-color-panel-background: #3c3836;
|
|
--ck-color-toolbar-background: #3c3836;
|
|
}
|
|
|
|
/* Force the note-tree context menu / dropdowns to the Gruvbox dark background. */
|
|
body.desktop .dropdown-menu,
|
|
body.desktop .dropdown-menu.tn-dropdown-menu,
|
|
body.desktop .dropdown-menu.tn-dropdown-list,
|
|
body.mobile .dropdown-menu {
|
|
--menu-background-color: #282828 !important;
|
|
--menu-background-color-no-backdrop: #282828 !important;
|
|
--menu-section-background-color: #282828 !important;
|
|
background-color: #282828 !important;
|
|
}
|
|
body.desktop .dropdown-menu::before,
|
|
body.mobile .dropdown-menu::before {
|
|
background-color: #282828 !important;
|
|
backdrop-filter: none !important;
|
|
}
|
|
body.desktop .dropdown-menu .dropdown-item,
|
|
body.mobile .dropdown-menu .dropdown-item {
|
|
--custom-color: #ebdbb2 !important;
|
|
color: #ebdbb2;
|
|
}
|
|
body.desktop .dropdown-menu .dropdown-item:hover,
|
|
body.desktop .dropdown-menu .dropdown-item:focus,
|
|
body.desktop .dropdown-menu .dropdown-item.active {
|
|
background-color: #3c3836 !important;
|
|
color: #fbf1c7;
|
|
}
|
|
|
|
/* ============ TREELINES (Vertical tree lines) ============ */
|
|
/* Base connector lines — Gruvbox neutral */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:nth-of-type(2n) {
|
|
border-left: 2.5px solid rgba(168, 153, 132, 0.8);
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:nth-of-type(2n+1) {
|
|
border-left: 2.5px solid rgba(168, 153, 132, 0.5);
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR red */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-E64D4D) {
|
|
border-left: 2.5px solid #fb493480;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR orange */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-E6994D) {
|
|
border-left: 2.5px solid #fe801980;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR yellow */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-E5E64D) {
|
|
border-left: 2.5px solid #fabd2f80;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR green (light) */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-99E64D) {
|
|
border-left: 2.5px solid #b8bb2680;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR green */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-4DE64D) {
|
|
border-left: 2.5px solid #8ec07c80;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR aqua/green */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-4DE699) {
|
|
border-left: 2.5px solid #8ec07c80;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR aqua/cyan */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-4DE5E6) {
|
|
border-left: 2.5px solid #83a59880;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR blue */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-4D99E6) {
|
|
border-left: 2.5px solid #83a59880;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR blue/purple */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-4D4DE6) {
|
|
border-left: 2.5px solid #d3869b80;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR purple */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-994DE6) {
|
|
border-left: 2.5px solid #d3869b80;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
/* COLOR pink/magenta */
|
|
div.tree li.fancytree-lastsib ul li[aria-expanded="true"]:has(> .color-E64DB3) {
|
|
border-left: 2.5px solid #d3869b80;
|
|
border-top-left-radius: 10px !important;
|
|
border-bottom-left-radius: 10px !important;
|
|
}
|
|
|
|
/* ============ NOTE HEADER BOXES (h2-h6) ============ */
|
|
/* Box background behind header text. h2 spans full editor width, h3-h6 hug the text block. Transparent, distinct colours. */
|
|
.ck-content h2 {
|
|
background-color: rgba(131, 165, 152, 0.35);
|
|
border-bottom: 2px solid rgba(131, 165, 152, 0.7);
|
|
border-radius: 4px;
|
|
padding: 0.25em 0.4em;
|
|
}
|
|
.ck-content h3 {
|
|
background-color: rgba(142, 192, 124, 0.25);
|
|
border-bottom: 2px solid rgba(142, 192, 124, 0.6);
|
|
border-radius: 4px;
|
|
padding: 0.2em 0.35em;
|
|
}
|
|
.ck-content h4 {
|
|
background-color: rgba(250, 189, 47, 0.25);
|
|
border-bottom: 2px solid rgba(250, 189, 47, 0.6);
|
|
border-radius: 4px;
|
|
padding: 0.2em 0.35em;
|
|
}
|
|
.ck-content h5 {
|
|
background-color: rgba(211, 134, 155, 0.25);
|
|
border-bottom: 2px solid rgba(211, 134, 155, 0.6);
|
|
border-radius: 4px;
|
|
padding: 0.2em 0.35em;
|
|
}
|
|
.ck-content h6 {
|
|
background-color: rgba(254, 128, 25, 0.25);
|
|
border-bottom: 2px solid rgba(254, 128, 25, 0.6);
|
|
border-radius: 4px;
|
|
padding: 0.2em 0.35em;
|
|
}
|
|
|
|
/* ============ TABLES ============ */
|
|
.ck-content table {
|
|
border-collapse: separate;
|
|
border-spacing: 0;
|
|
border: 1px solid var(--main-border-color);
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
margin: 1em 0;
|
|
}
|
|
.ck-content table th,
|
|
.ck-content table td {
|
|
border: none;
|
|
border-bottom: 1px solid var(--main-border-color);
|
|
border-right: 1px solid var(--main-border-color);
|
|
padding: 8px 12px;
|
|
text-align: left;
|
|
background-color: transparent !important;
|
|
}
|
|
.ck-content table th:last-child,
|
|
.ck-content table td:last-child {
|
|
border-right: none;
|
|
}
|
|
.ck-content table tr:last-child td {
|
|
border-bottom: none;
|
|
}
|
|
.ck-content table thead th {
|
|
background-color: rgba(131, 165, 152, 0.30) !important;
|
|
color: #fbf1c7;
|
|
font-weight: 700;
|
|
border-bottom: 2px solid rgba(131, 165, 152, 0.6);
|
|
}
|
|
.ck-content table tbody td:first-child {
|
|
background-color: rgba(255, 255, 255, 0.05) !important;
|
|
color: #ebdbb2;
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
}
|
|
.ck-content table tbody tr:nth-child(even) td:not(:first-child) {
|
|
background-color: rgba(255, 255, 255, 0.04) !important;
|
|
}
|
|
.ck-content table tbody tr:hover td {
|
|
background-color: rgba(254, 128, 25, 0.07) !important;
|
|
}
|
|
.ck-content table .col-hover {
|
|
background-color: rgba(254, 128, 25, 0.07) !important;
|
|
}
|
|
.ck-content table tbody tr:hover td.col-hover,
|
|
.ck-content table thead th.col-hover {
|
|
background-color: rgba(254, 128, 25, 0.14) !important;
|
|
}
|