Files
trilium-themes/gruvbox-dark.css
T

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;
}