/* ============================================================
   AbsoluteGruv — Gruvbox Material Dark Soft
   Updated for modern Obsidian (CM6 / v1.4+)
   ============================================================ */


body {
	--font-monospace-default: "JetBrainsMono Nerd Font", "JetBrains Mono", monospace;
	--font-text-theme: "JetBrainsMono Nerd Font", "JetBrains Mono", monospace;
	-webkit-font-smoothing: auto;
}


:root {
	
	--gruv-bg0: #1d2021;
	--gruv-bg: #282828;
	--gruv-bg1: #3c3836;
	--gruv-bg2: #504945;
	--gruv-bg3: #665c54;
	--gruv-bg4: #7c6f64;
	--gruv-bg5: #928374;

	
	--gruv-fg: #ebdbb2;
	--gruv-grey0: #7f897d;
	--gruv-grey1: #859289;
	--gruv-grey2: #9aa79d;

	
	--gruv-red: #fb4934;
	--gruv-orange: #fe8019;
	--gruv-yellow: #fabd2f;
	--gruv-green: #b8bb26;
	--gruv-aqua: #8ec07c;
	--gruv-blue: #83a598;
	--gruv-purple: #d3869b;

	
	--gruv-dim-red: #cc241d;
	--gruv-dim-orange: #d65d0e;
	--gruv-dim-yellow: #d79921;
	--gruv-dim-green: #98971a;
	--gruv-dim-aqua: #689d6a;
	--gruv-dim-blue: #458588;
	--gruv-dim-purple: #b16286;

	
	--gruv-visual: #503946;
	--gruv-shadow: #00000070;

	
	--gruv-bg-alt1: #222526;
	--gruv-bg-alt2: #2e2c2b;
	--gruv-bg-alt3: #46403d;
	--gruv-bg-l-alt1: #d4cebe;
	--gruv-bg-l-alt2: #b8b2a5;
	--gruv-bg-l-alt3: #7d8681;
	--gruv-bg-l-alt4: #677269;

	
	--gruv-bg-l: #fdf6e3;
	--gruv-bg1-l: #f6f1dd;
	--gruv-bg2-l: #f3efda;
	--gruv-bg3-l: #edead5;
	--gruv-bg4-l: #e4e1cd;
	--gruv-bg5-l: #dfdbc8;
	--gruv-fg-l: #5c6a72;
	--gruv-grey1-l: #939f91;

	--gruv-light-red: #f85552;
	--gruv-light-orange: #f57d26;
	--gruv-light-yellow: #bf983d;
	--gruv-light-green: #899c40;
	--gruv-light-aqua: #569d79;
	--gruv-light-blue: #5a93a2;
	--gruv-light-purple: #b87b9d;
}


.theme-dark {
	
	--color-base-00: var(--gruv-bg0);
	--color-base-05: var(--gruv-bg-alt1);
	--color-base-10: var(--gruv-bg);
	--color-base-20: var(--gruv-bg-alt2);
	--color-base-25: var(--gruv-bg1);
	--color-base-30: var(--gruv-bg-alt3);
	--color-base-35: var(--gruv-bg2);
	--color-base-40: var(--gruv-bg3);
	--color-base-50: var(--gruv-bg4);
	--color-base-60: var(--gruv-bg5);
	--color-base-70: var(--gruv-grey1);
	--color-base-100: var(--gruv-fg);

	
	--color-red: var(--gruv-red);
	--color-orange: var(--gruv-orange);
	--color-yellow: var(--gruv-yellow);
	--color-green: var(--gruv-green);
	--color-cyan: var(--gruv-aqua);
	--color-blue: var(--gruv-blue);
	--color-purple: var(--gruv-purple);

	
	--accent-h: 107;
	--accent-s: 30%;
	--accent-l: 62%;

	
	--background-primary: var(--gruv-bg);
	--background-primary-alt: var(--gruv-bg0);
	--background-secondary: var(--gruv-bg0);
	--background-secondary-alt: var(--gruv-bg0);
	--background-modifier-hover: rgba(92, 84, 76, 0.35);
	--background-modifier-active-hover: rgba(92, 84, 76, 0.5);
	--background-modifier-border: var(--gruv-bg2);
	--background-modifier-border-hover: var(--gruv-bg3);
	--background-modifier-border-focus: var(--gruv-dim-aqua);
	--background-modifier-form-field: var(--gruv-bg1);

	
	--text-normal: var(--gruv-fg);
	--text-muted: var(--gruv-grey2);
	--text-faint: var(--gruv-grey1);
	--text-accent: var(--gruv-dim-aqua);
	--text-accent-hover: var(--gruv-aqua);
	--text-on-accent: var(--gruv-bg);
	--text-selection: rgba(80, 73, 69, 0.7);
	--text-highlight-bg: rgba(215, 153, 33, 0.25);

	
	--link-color: var(--gruv-dim-aqua);
	--link-color-hover: var(--gruv-aqua);
	--link-decoration: none;
	--link-decoration-hover: underline;
	--link-external-color: var(--gruv-blue);
	--link-external-color-hover: var(--gruv-aqua);
	--link-external-decoration: none;
	--link-unresolved-color: var(--gruv-grey2);
	--link-unresolved-opacity: 0.8;

	
	--h1-color: var(--gruv-dim-red);
	--h2-color: var(--gruv-dim-orange);
	--h3-color: var(--gruv-dim-yellow);
	--h4-color: var(--gruv-dim-green);
	--h5-color: var(--gruv-dim-aqua);
	--h6-color: var(--gruv-dim-purple);

	--h1-size: 2em;
	--h2-size: 1.6em;
	--h3-size: 1.35em;
	--h4-size: 1.2em;
	--h5-size: 1.1em;
	--h6-size: 1em;

	--h1-weight: 500;
	--h2-weight: 500;
	--h3-weight: 500;
	--h4-weight: 500;
	--h5-weight: 500;
	--h6-weight: 500;

	
	--code-background: var(--gruv-bg1);
	--code-normal: var(--gruv-fg);
	--code-comment: var(--gruv-grey1);
	--code-function: var(--gruv-green);
	--code-important: var(--gruv-red);
	--code-keyword: var(--gruv-red);
	--code-operator: var(--gruv-aqua);
	--code-property: var(--gruv-blue);
	--code-punctuation: var(--gruv-fg);
	--code-string: var(--gruv-yellow);
	--code-tag: var(--gruv-orange);
	--code-value: var(--gruv-purple);
	--code-size: 0.9em;

	
	--interactive-normal: var(--gruv-bg1);
	--interactive-hover: var(--gruv-bg2);
	--interactive-accent: var(--gruv-dim-aqua);
	--interactive-accent-hover: var(--gruv-aqua);

	
	--caret-color: var(--gruv-blue);

	
	--tag-color: var(--gruv-fg);
	--tag-background: rgba(69, 133, 136, 0.2);
	--tag-background-hover: rgba(69, 133, 136, 0.35);
	--tag-border-color: var(--gruv-dim-blue);
	--tag-border-color-hover: var(--gruv-blue);

	
	--scrollbar-bg: transparent;
	--scrollbar-thumb-bg: var(--gruv-bg3);

	
	--text-a: var(--gruv-dim-aqua);
	--text-a-hover: var(--gruv-aqua);
	--text-link: var(--gruv-blue);
	--inline-code: var(--gruv-blue);
	--pre-code: var(--gruv-bg1);
	--code-block: var(--gruv-fg);
	--vim-cursor: var(--gruv-blue);
	--text-mark: rgba(215, 153, 33, 0.25);
}


.theme-light {
	--color-base-00: var(--gruv-bg-l);
	--color-base-05: var(--gruv-bg1-l);
	--color-base-10: var(--gruv-bg2-l);
	--color-base-20: var(--gruv-bg3-l);
	--color-base-25: var(--gruv-bg4-l);
	--color-base-30: var(--gruv-bg5-l);
	--color-base-35: var(--gruv-bg-l-alt1);
	--color-base-40: var(--gruv-bg-l-alt2);
	--color-base-50: var(--gruv-grey1-l);
	--color-base-60: var(--gruv-bg-l-alt3);
	--color-base-70: var(--gruv-bg-l-alt4);
	--color-base-100: var(--gruv-fg-l);

	--accent-h: 107;
	--accent-s: 28%;
	--accent-l: 40%;

	--background-primary: var(--gruv-bg-l);
	--background-primary-alt: var(--gruv-bg1-l);
	--background-secondary: var(--gruv-bg2-l);
	--background-secondary-alt: var(--gruv-bg3-l);
	--background-modifier-hover: rgba(180, 170, 140, 0.3);
	--background-modifier-border: var(--gruv-bg5-l);
	--background-modifier-form-field: var(--gruv-bg1-l);

	--text-normal: var(--gruv-fg-l);
	--text-muted: var(--gruv-grey1-l);
	--text-faint: #a4ad9e;
	--text-accent: var(--gruv-light-blue);
	--text-accent-hover: var(--gruv-light-aqua);
	--text-selection: rgba(189, 174, 147, 0.45);
	--text-highlight-bg: rgba(215, 153, 33, 0.25);

	--link-color: var(--gruv-light-blue);
	--link-color-hover: var(--gruv-light-aqua);
	--link-decoration: none;
	--link-decoration-hover: underline;
	--link-external-color: var(--gruv-light-blue);
	--link-unresolved-color: var(--gruv-grey1-l);
	--link-unresolved-opacity: 0.75;

	--h1-color: var(--gruv-light-red);
	--h2-color: var(--gruv-light-orange);
	--h3-color: var(--gruv-light-yellow);
	--h4-color: var(--gruv-light-green);
	--h5-color: var(--gruv-light-aqua);
	--h6-color: var(--gruv-light-purple);

	--h1-size: 2em;
	--h2-size: 1.6em;
	--h3-size: 1.35em;
	--h4-size: 1.2em;
	--h5-size: 1.1em;
	--h6-size: 1em;

	--h1-weight: 500;
	--h2-weight: 500;
	--h3-weight: 500;
	--h4-weight: 500;
	--h5-weight: 500;
	--h6-weight: 500;

	--code-background: var(--gruv-bg1-l);
	--code-normal: var(--gruv-fg-l);
	--code-comment: var(--gruv-grey1-l);
	--code-function: var(--gruv-light-green);
	--code-important: var(--gruv-light-red);
	--code-keyword: var(--gruv-light-red);
	--code-operator: var(--gruv-light-aqua);
	--code-property: var(--gruv-light-blue);
	--code-punctuation: var(--gruv-fg-l);
	--code-string: var(--gruv-light-yellow);
	--code-tag: var(--gruv-light-orange);
	--code-value: var(--gruv-light-purple);
	--code-size: 0.9em;

	--interactive-normal: var(--gruv-bg1-l);
	--interactive-hover: var(--gruv-bg2-l);
	--interactive-accent: var(--gruv-light-aqua);
	--interactive-accent-hover: var(--gruv-light-blue);

	--caret-color: var(--gruv-light-blue);

	--tag-color: var(--gruv-fg-l);
	--tag-background: rgba(86, 157, 121, 0.15);
	--tag-background-hover: rgba(86, 157, 121, 0.3);
	--tag-border-color: var(--gruv-light-aqua);

	
	--inline-code: var(--gruv-light-blue);
	--pre-code: var(--gruv-bg1-l);
	--code-block: var(--gruv-fg-l);
	--vim-cursor: var(--gruv-light-blue);
}



body.palette-original {
	
}

body.palette-hybrid {
	--gruv-bg0: #252423;
	--gruv-bg-alt1: #2b2a29;
	--gruv-bg: #32302f;
	--gruv-bg-alt2: #373534;
	--gruv-bg-alt3: #46413e;
	--gruv-bg-l: #fbf1c7;
	--gruv-bg1-l: #f4e8be;
	--gruv-bg2-l: #f2e5bc;
	--gruv-bg3-l: #eee0b7;
	--gruv-bg4-l: #e5d5ad;
	--gruv-bg5-l: #ddccab;
	--gruv-bg-l-alt1: #dac9a5;
	--gruv-bg-l-alt2: #c9bb9b;
	--gruv-bg-l-alt3: #b0a690;
	--gruv-bg-l-alt4: #a09784;
	--gruv-grey1-l: #a89984;
	--gruv-fg-l: #654735;
	--gruv-grey0: #7f897d;
	--gruv-grey1: #859289;
	--gruv-grey2: #9aa79d;
}

body.palette-strict {
	--gruv-bg0: #252423;
	--gruv-bg-alt1: #2b2a29;
	--gruv-bg: #32302f;
	--gruv-bg-alt2: #373534;
	--gruv-bg-alt3: #46413e;
	--gruv-bg2: #504945;
	--gruv-bg-l: #fbf1c7;
	--gruv-bg1-l: #f4e8be;
	--gruv-bg2-l: #f2e5bc;
	--gruv-bg3-l: #eee0b7;
	--gruv-bg4-l: #e5d5ad;
	--gruv-bg5-l: #ddccab;
	--gruv-bg-l-alt1: #dac9a5;
	--gruv-bg-l-alt2: #c9bb9b;
	--gruv-bg-l-alt3: #b0a690;
	--gruv-bg-l-alt4: #a09784;
	--gruv-grey1-l: #a89984;
	--gruv-fg-l: #654735;
	--gruv-light-red: #c14a4a;
	--gruv-light-orange: #c35e0a;
	--gruv-light-yellow: #b47109;
	--gruv-light-green: #6c782e;
	--gruv-light-aqua: #4c7a5d;
	--gruv-light-blue: #45707a;
	--gruv-light-purple: #945e80;
	--gruv-fg: #d4be98;
	--gruv-grey0: #7c6f64;
	--gruv-grey1: #928374;
	--gruv-grey2: #a89984;
	--gruv-red: #ea6962;
	--gruv-orange: #e78a4e;
	--gruv-yellow: #d8a657;
	--gruv-green: #a9b665;
	--gruv-aqua: #89b482;
	--gruv-blue: #7daea3;
	--gruv-dim-red: #d45d56;
	--gruv-dim-orange: #d67d44;
	--gruv-dim-yellow: #c9984a;
	--gruv-dim-green: #99a85a;
	--gruv-dim-aqua: #7ba875;
	--gruv-dim-blue: #6d9d95;
	--gruv-dim-purple: #b87588;
	--gruv-shadow: #00000050;
}


html,
body {
	font-size: 16px;
}

strong {
	font-weight: 600;
}




.cm-s-obsidian .cm-inline-code {
	color: var(--gruv-blue);
	background-color: var(--code-background);
	border-radius: 3px;
	padding: 1px 4px;
}


.cm-editor,
.cm-line {
	font-family: var(--font-monospace-default);
}


.cm-s-obsidian .cm-strong {
	color: var(--gruv-fg);
}




.markdown-rendered code,
.markdown-preview-view code {
	font-size: var(--code-size);
	color: var(--gruv-blue);
	background-color: var(--code-background);
	border-radius: 3px;
	padding: 1px 4px;
}


.markdown-rendered pre code,
.markdown-preview-view pre code {
	font-size: var(--code-size);
	color: var(--code-normal);
	background: transparent;
	padding: 0;
	border-radius: 0;
}

.markdown-rendered pre,
.markdown-preview-view pre {
	background-color: var(--code-background);
	border-radius: 6px;
	padding: 12px 16px;
}


.markdown-rendered strong,
.markdown-preview-view strong {
	color: var(--gruv-fg);
	font-weight: 600;
}


.markdown-rendered mark,
.markdown-preview-view mark {
	background-color: var(--text-highlight-bg);
	color: inherit;
}



a.internal-link,
.cm-hmd-internal-link {
	text-decoration: none;
}


.graph-view.color-circle,
.graph-view.color-fill-highlight,
.graph-view.color-line-highlight {
	color: var(--gruv-dim-aqua) !important;
}

.graph-view.color-text {
	color: var(--gruv-aqua) !important;
}

.graph-view.color-line {
	color: var(--gruv-bg2) !important;
}




.workspace-split.mod-vertical > * > .workspace-leaf-resize-handle,
.workspace-split.mod-left-split > .workspace-leaf-resize-handle,
.workspace-split.mod-right-split > .workspace-leaf-resize-handle {
	width: 1px;
	background-color: var(--background-modifier-border);
}


.workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle {
	height: 1px;
	background-color: var(--background-modifier-border);
}


.workspace-split.mod-root .workspace-split.mod-vertical .workspace-leaf-content,
.workspace-split.mod-vertical > .workspace-split,
.workspace-split.mod-vertical > .workspace-leaf,
.workspace-tabs {
	padding-right: 0;
}

.workspace-tabs .workspace-leaf {
	border-color: transparent;
}


.workspace-ribbon {
	border-right: none;
	border-left: none;
}

.side-dock-title {
	padding-top: 15px;
	font-size: 20px;
}

.nav-action-button:hover,
.side-dock-ribbon-tab:hover,
.side-dock-ribbon-action:hover,
.side-dock-collapse-btn:hover {
	color: var(--text-accent);
}


.nav-file-title.is-active {
	background-color: var(--background-modifier-hover);
	color: var(--text-normal);
	border-radius: 4px;
}

.nav-file-title-content,
.nav-folder-title-content {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}


.view-header-title {
	font-weight: 700;
}
.inline-title {
	color: var(--h1-color);
	font-weight: 500;
}


th {
	font-weight: 600;
}
thead {
	border-bottom: 2px solid var(--background-modifier-border);
}


input.task-list-item-checkbox {
	border: 1px solid var(--gruv-blue);
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	border-radius: 3px;
	background: transparent;
}

input.task-list-item-checkbox:checked {
	background-color: var(--gruv-dim-blue);
	box-shadow: inset 0 0 0 2px var(--background-primary);
	border-color: var(--gruv-blue);
}


.suggestion-item.is-selected {
	background-color: var(--background-modifier-hover);
}


.cm-hmd-list-indent .cm-tab {
	position: relative;
}
.cm-hmd-list-indent .cm-tab::before {
	content: "";
	border-left: 1px solid var(--gruv-dim-blue);
	position: absolute;
	left: 0;
	top: -5px;
	bottom: -4px;
}

ul ul {
	position: relative;
}
ul ul::before {
	content: "";
	border-left: 1px solid var(--gruv-dim-blue);
	position: absolute;
	left: -11px;
	top: 0;
	bottom: 0;
}


.markdown-embed-title {
	font-weight: 600;
}

.markdown-embed {
	padding-left: 10px;
	padding-right: 10px;
	margin-left: 10px;
	margin-right: 10px;
}


::selection {
	background-color: var(--text-selection);
}



.frontmatter-container {
	display: none;
}


.mermaid {
	font-size: 0.9em;
}


body:not(.show-scrollbar) ::-webkit-scrollbar {
	display: none;
}


body:not(.left-aligned-embeds) .view-content img:not(.link-favicon) {
	margin-right: auto;
	margin-left: auto;
	display: block;
}

body:not(.left-aligned-embeds) div.mermaid {
	text-align: center;
}


body:not(.collapsed-borders) .workspace-ribbon.mod-left.is-collapsed {
	border-right-color: var(--background-secondary-alt);
}
body:not(.collapsed-borders) .workspace-ribbon.mod-right.is-collapsed {
	border-left-color: var(--background-secondary-alt);
}


body:not(.status-bar-border) .status-bar {
	border-top-color: var(--background-secondary-alt);
}


.mod-cta {
	color: var(--background-primary) !important;
	font-weight: 600 !important;
}
.mod-cta:hover {
	background-color: var(--interactive-accent-hover) !important;
}


body:not(.show-titlebar) .titlebar {
	display: none;
}

.theme-dark:not(.show-titlebar):not(.is-mobile),
.theme-light:not(.show-titlebar):not(.is-mobile) {
	padding: 0 !important;
}


body.hide-sidebar-tabs .workspace-tab-header-container {
	transition:
		height 150ms ease,
		padding 150ms ease;
}
body.hide-sidebar-tabs .workspace-tab-header-container:not(:hover) {
	height: 11px;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
}
body.hide-sidebar-tabs .workspace-tab-header-container:hover {
	height: 44px;
	padding-bottom: 4px;
}
body.hide-sidebar-tabs
	.workspace-tab-header-container:not(:hover)
	.workspace-tab-header,
body.hide-sidebar-tabs
	.workspace-tab-header-container:not(:hover)
	.workspace-tab-header
	svg {
	opacity: 0;
}




