/**---------------------**
*!  Obsidian Everforest
*?
*? 1. Variables
*?   - Implementation
*? 2. Themes
*?   - Dark
*?   - Light
*? 2. General UI
*?   - Workspace
*?   - Menus
*?   - Sidebars
*?   - Canvas
*?   - Loading Screen
*? 4. Markdown
*?   - Emphasis
*?   - Code
*?   - Links
*?   - Lists
*?   - Blockquotes
*?   - Tables
*?   - Tags
*?   - Embeds
*?   - YAML
*?   - Graph
*? 5. Mobile
*? 6. Cursor
*? 7. Style Settings
*?   - Custom Stacked Panes
*?   - Custom Background Image
*? 8. Extra Fixes
*?   - Callouts
*?   - Image Formatting
*?   - CSS Classes
*?   - Misc.
*?
 **---------------------**/



:root body:where(.theme-dark, .theme-light) {
    

    --checkbox-size: calc(var(--font-text-size) - 2px);
    --checkbox-radius: 25%;

    
    --list-indent: var(--list-indent-custom, 28px);
    --list-spacing: 0;
    --list-bullet-size: 6px;

    --file-folding-offset: 22px;

    --shadow-l: 0 4px 14px -2px hsla(0, 0%, 0%, 40%);

    
    --file-line-width: var(--readable-line-length-custom, 700px);

    

    --background-modifier-border: var(--bg5);
    --background-modifier-border-hover: var(--bg3);
    --background-embed: var(--background-embed-transparent);
    --embed-block-shadow-hover: var(--shadow-l);
    --blockquote-background-color: var(--background-embed);

    --background-primary: var(--bg0);
    --background-primary-rgb: var(--bg0-rgb);
    --background-primary-alt: var(--bg0);
    --background-secondary: var(--bg0);
    --background-secondary-alt: var(--bg0);

    

    --text-normal: var(--fg);
    --text-muted: var(--color-base-70);
    --text-faint: var(--grey1);
    --text-selection: var(--bg-visual);

    --link-color: var(--header-aqua);
    --link-color-hover: var(--fg-aqua);
    --link-external-color: var(--header-blue);
    --link-external-color-hover: var(--fg-blue);
    --text-accent: var(--header-blue);
    --text-accent-hover: var(--header-purple);

    --link-unresolved-decoration-style: dashed;
    --link-unresolved-color: var(--header-blue);
    --link-unresolved-color-hover: var(--header-purple); 
    --link-unresolved-decoration-color: var(--bg-red);
    --link-unresolved-decoration-color-hover: var(--fg-red); 

    --code-header: #0004;
    --code-background: var(--bg-dim);
    --code-normal: var(--text-muted);
    --code-inline: var(--fg-blue);

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

    --table-background: var(--bg2);
    --table-column-alt-background: unset;
    --table-row-alt-background: var(--bg1);
    --table-header-background: var(--bg-green);
    --table-header-background-hover: var(--bg-green);
    --table-row-background-hover: var(--bg4);

    --interactive-before: var(--bg4);
    --interactive-accent: var(--header-aqua);
    --interactive-accent-hover: var(--header-blue);

    --text-highlight-bg: var(--bg-yellow);

    --heading-formatting: ;

    --tag-color: var(--header-blue);
    --tag-background: hsla(var(--tag-color-hsl), 0.1);
    --tag-background-hover: hsla(var(--tag-color-hsl), 0.2);

    --checkbox-color: var(--fg-blue);

    --canvas-dot-pattern: var(--color-base-50);

    

    --h1-color: var(--header-red);
    --h2-color: var(--header-orange);
    --h3-color: var(--header-yellow);
    --h4-color: var(--header-green);
    --h5-color: var(--header-blue);
    --h6-color: var(--header-purple);

    --h1-size: 2.125em;
    --h2-size: 1.625em;
    --h3-size: 1.375em;
    --h4-size: 1.25em;
    --h5-size: 1.125em;
    --h6-size: 1em;

    --h1-line-height: 1.5;
    --h2-line-height: 1.5;
    --h3-line-height: 1.5;
    --h4-line-height: 1.5;
    --h5-line-height: 1.5;
    --h6-line-height: 1.5;

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


:root body.is-mobile {
    --input-shadow-hover: var(--input-shadow);
    --input-border-width: 1px;
    --file-margins: 16px 20px;
}

:root body.is-mobile.theme-dark {
    --input-shadow: inset 0 1px 1px 0.5px rgba(255, 255, 255, 0.1),
        0 2px 4px rgba(0, 0, 0, 0.4);
    --interactive-normal: var(--color-base-30);
    --background-modifier-form-field: var(--color-base-25);
}

:root body.is-mobile.theme-light {
    --input-shadow: inset 0 0 0.5px 1px rgba(0, 0, 0, 0.1),
        0 2px 3px rgba(0, 0, 0, 0.1);
    --interactive-normal: var(--color-base-00);
    --background-modifier-form-field: var(--color-base-00);
}





:root .theme-dark {
    --bg-dim-rgb: 41, 49, 54;
    --bg-dim: #293136;
    --bg0: #333c43;
    --bg1: #3a464c;
    --bg2: #434f55;
    --bg3: #4d5960;
    --bg4: #555f66;
    --bg5: #5d6b66;

    --bg-visual: #5c3f4f;
    --bg-red: #59464c;
    --bg-green: #48584e;
    --bg-blue: #3f5865;
    --bg-yellow: #55544a;

    --fg: #d3c6aa;

    --fg-red: #e67e80;
    --fg-orange: #e69875;
    --fg-yellow: #dbbc7f;
    --fg-green: #a7c080;
    --fg-aqua: #83c092;
    --fg-blue: #7fbbb3;
    --fg-purple: #d699b6;

    --header-red: #da6362;
    --header-orange: #d77f48;
    --header-yellow: #bf983d;
    --header-green: #899c40;
    --header-aqua: #569d79;
    --header-blue: #5a93a2;
    --header-purple: #b87b9d;

    --grey0: #7a8478;
    --grey1: #859289;
    --grey2: #9da9a0;

    --statusline0: #a7c080;
    --statusline1: #d3c6aa;
    --statusline2: #e67e80;

    --bg0-rgb: 51, 60, 67;
    --background-embed-transparent: rgba(62, 75, 80, 0.7);
    --tag-color-hsl: 254, 80%, 68%;
}



:root .theme-light {
    --bg-dim-rgb: 242, 239, 223;
    --bg-dim: #f2efdf;
    --bg0: #fffbef;
    --bg1: #f8f5e4;
    --bg2: #f2efdf;
    --bg3: #edeada;
    --bg4: #e8e5d5;
    --bg5: #bec5b2;

    --bg-visual: #ded8db; 
    --bg-red: #ffe7de;
    --bg-green: #f3f5d9;
    --bg-blue: #ecf5ed;
    --bg-yellow: #fef2d5;

    --fg: #5c6a72;

    --fg-red: #f85552;
    --fg-orange: #f57d26;
    --fg-yellow: #dfa000;
    --fg-green: #8da101;
    --fg-aqua: #35a77c;
    --fg-blue: #3a94c5;
    --fg-purple: #df69ba;

    --header-red: #f85552;
    --header-orange: #f88f44;
    --header-yellow: #f3b931;
    --header-green: #abd113;
    --header-aqua: #569d79;
    --header-blue: #5a93a2;
    --header-purple: #dd2b8d;

    --grey0: #a6b0a0;
    --grey1: #939f91;
    --grey2: #829181;

    --statusline0: #93b259;
    --statusline1: #708089;
    --statusline2: #e66868;

    --bg0-rgb: 255, 251, 239;
    --background-embed-transparent: rgb(238 236 213 / 70%); 
    --tag-color-hsl: 254, 80%, 68%;
}






.workspace-leaf .view-header {
    box-shadow: 0 0 8px -4px var(--divider-color);
}


.view-header-title {
    font-weight: 600;
}


.markdown-source-view.mod-cm6 .cm-gutters {
    padding-inline-end: var(--file-folding-offset);
    pointer-events: none;
}
.cm-gutter .cm-active {
    color: var(--text-normal);
}


.workspace-tabs:not(.mod-stacked)
    .mod-cm6.is-readable-line-width:not(.full-width),
body:not(.stacked-panes-gutter-disable-float)
    .workspace-tabs.mod-stacked
    .mod-cm6.is-readable-line-width {
    .cm-contentContainer {
        display: grid !important;
    }
    :is(.cm-gutters, .cm-content) {
        grid-area: 1 / -1;
    }
    .cm-content {
        width: unset !important;
    }
    .cm-gutters {
        justify-self: left;
        translate: -100% 0;
    }
}


.mod-stacked {
    --file-margins: 32px 12px;
}


.markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator {
    padding-right: 0.45rem;
}
.markdown-source-view.mod-cm6
    .cm-line:not(.cm-active):not(.HyperMD-header):not(
        .HyperMD-task-line,
        .HyperMD-list-line-1
    )
    .cm-fold-indicator
    .collapse-indicator {
    padding-right: 0.75rem;
}
div ul.has-list-bullet ul.has-list-bullet .collapse-indicator {
    margin-left: -2.75rem;
}
.markdown-rendered .list-collapse-indicator {
    padding-right: 1rem;
}


.workspace-tab-header:has(+ .is-active) > .workspace-tab-header-inner::after {
    visibility: hidden;
}


.is-flashing {
    background-color: transparent !important;
    color: inherit;
    border-radius: 0;
    box-shadow: 0 4px 0 var(--text-highlight-bg);
}


:root .cm-lineNumbers .cm-gutterElement {
    line-height: normal !important;
}




select:hover,
select:focus-within,
button:hover {
    transition: background-color var(--anim-duration-superfast) ease-out;
}


body:not(.disable-menu-animations, .enable-menu-blur) .modal-bg {
    animation: fade-in var(--anim-duration-superfast) linear;
}
body:not(.disable-menu-animations) :is(.modal, .prompt) {
    animation:
        fade-in var(--anim-duration-superfast),
        slide-in var(--anim-duration-superfast) ease-out;
}
@keyframes slide-in {
    0% {
        translate: 0 4px;
    }
    100% {
        translate: 0 0;
    }
}
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}




.nav-files-container {
    scrollbar-gutter: stable;
    padding-right: var(--size-2-2);
}








.progress-bar-message::before {
    content: "🌲 ";
}
.progress-bar-message::after {
    content: " 🌲";
}


.progress-bar-indicator {
    height: 12px;
    overflow-y: hidden;
    width: min(90vw, 1200px);
}
.progress-bar-indicator,
.progress-bar-subline {
    border-radius: 12px;
}
.progress-bar-line,
.progress-bar-subline {
    overflow: hidden;
    height: 100%;
}






.cm-formatting-header {
    color: unset;
}


.mod-header + div:has(pre.frontmatter) + div > *,
.mod-header + div > * {
    margin-top: 0;
}




.cm-s-obsidian span.cm-strong,
strong,
.cm-s-obsidian span.cm-em,
em,
.language-markdown :is(.bold, .italic) > *,
span:is(.cm-em, .cm-strong) + .cm-widgetBuffer + span.math,
span.math:has(+ .cm-widgetBuffer + span:is(.cm-em, .cm-strong)) {
    color: var(--fg-purple);
}


.cm-strikethrough,
del {
    color: var(--text-faint);
}




.cm-s-obsidian
    span.cm-inline-code:not(.cm-formatting):not(
        .cm-formatting + .cm-inline-code
    ),
.markdown-rendered code {
    background-color: var(--code-background);
    padding: 0.1em 0.25em;
    border-radius: var(--radius-s);
    font-size: var(--code-size) !important; 
}

.cm-s-obsidian span.cm-inline-code:not(.cm-formatting),
.markdown-rendered
    :is(table, p, li, .callout-title-inner, h1, h2, h3, h4, h5, h6)
    code {
    color: var(--code-inline);
}


.cm-s-obsidian pre.HyperMD-codeblock {
    background-color: var(--code-background);
}
pre {
    border: 1px solid var(--code-header);
}
.HyperMD-codeblock {
    border-color: var(--code-header);
    border-style: solid;
    border-width: 0 1px 0;
}
.HyperMD-codeblock-begin {
    border-width: 1px 1px 0;
}
.HyperMD-codeblock-end {
    border-width: 0 1px 1px;
}


.markdown-reading-view .markdown-preview-view pre:not(.frontmatter) code {
    white-space: pre;
}


pre[class^="language-"] {
    padding-top: calc(
        var(--size-4-2) + var(--code-size) * var(--line-height-normal) + 1px
    );
}
pre[class^="language-"]::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: calc(var(--code-size) * var(--line-height-normal));
    background-color: var(--code-header);
}
.HyperMD-codeblock-begin-bg:not(:has(> .code-block-flair > *)):has(
        > .code-block-flair
    ) {
    overflow: hidden;
    &::before {
        content: "";
        position: absolute;
        inset: 0;
        background-color: var(--code-header);
        
    }
}


pre[class^="language-"]::after {
    content: attr(class);
    position: absolute;
    top: 0;
    right: 6px;
    padding: 0 4px;
    height: calc(1em * var(--line-height-normal));
    display: flex;
    place-items: center;
    color: var(--text-muted);
    font-size: 0.875em;
}
.markdown-source-view.mod-cm6 .code-block-flair:not(:has(> svg)) {
    top: 0;
    padding: 0 4px;
    height: calc(1em * var(--line-height-normal));
    display: flex;
    place-items: center;
    font-family: var(--font-monospace);
    font-size: 1em;
}
.markdown-rendered pre[class^="language-"] button.copy-code-button {
    top: calc(6px + var(--code-size) * var(--line-height-normal));
}

pre.language-applescript::after {
    content: "AppleScript";
}
pre.language-armasm::after,
pre.language-arm-asm::after {
    content: "ARM Assembly";
}
pre.language-bash::after {
    content: "Bash";
}
pre.language-c::after {
    content: "C";
}
pre.language-cpp::after {
    content: "C++";
}
pre.language-cs::after {
    content: "C#";
}
pre.language-css::after {
    content: "CSS";
}
pre.language-flow::after {
    content: "Flow";
}
pre.language-git::after {
    content: "GIT";
}
pre.language-haskell::after {
    content: "Haskell";
}
pre.language-html::after {
    content: "HTML";
}
pre.language-ini::after {
    content: "INI";
}
pre.language-java::after {
    content: "JAVA";
}
pre.language-javascript::after {
    content: "JavaScript";
}
pre.language-js::after {
    content: "JavaScript";
}
pre.language-json::after {
    content: "JSON";
}
pre.language-lua::after {
    content: "Lua";
}
pre.language-makefile::after {
    content: "Makefile";
}
pre.language-md::after,
pre.language-markdown::after {
    content: "Markdown";
}
pre.language-matlab::after {
    content: "MATLAB";
}
pre.language-nginx::after {
    content: "Nginx";
}
pre.language-node::after {
    content: "Node";
}
pre.language-php::after {
    content: "PHP";
}
pre.language-py::after {
    content: "Python";
}
pre.language-python::after {
    content: "Python";
}
pre.language-r::after {
    content: "R";
}
pre.language-react::after {
    content: "React";
}
pre.language-regex::after {
    content: "Regex";
}
pre.language-rust::after {
    content: "Rust";
}
pre.language-sequence::after {
    content: "Sequence";
}
pre.language-shell::after {
    content: "Shell";
}
pre.language-sql::after {
    content: "SQL";
}
pre.language-text::after {
    content: "Plain Text";
}
pre.language-ts::after {
    content: "TypeScript";
}
pre.language-toml::after {
    content: "TOML";
}
pre.language-txt::after {
    content: "Plain Text";
}
pre.language-typescript::after {
    content: "TypeScript";
}
pre.language-url::after {
    content: "URL";
}
pre.language-vim::after {
    content: "vimrc";
}
pre.language-xml::after {
    content: "XML";
}
pre.language-yaml::after {
    content: "YAML";
}
pre.language-zsh::after {
    content: "zsh";
}



:root a {
    transition: opacity 0s;
}


:root:root a.is-unresolved:hover,
.markdown-source-view.mod-cm6 .is-unresolved .cm-underline:hover {
    text-decoration-color: var(--link-unresolved-decoration-color-hover);
    color: var(--link-unresolved-color-hover);
}
.cm-s-obsidian span.cm-hmd-internal-link:hover {
    text-decoration: none;
}



.markdown-source-view span.list-bullet {
    padding-right: 0.3rem;
}
.markdown-preview-view .list-bullet::after {
    font-size: 19px;
}
.markdown-source-view .list-bullet::after {
    font-size: 19px;
}


:root:root:root li > p {
    margin-block: var(--p-spacing);
}


.markdown-rendered .list-bullet {
    margin-left: -12px;
}
:root .show-indentation-guide li :is(ul, ol)::before {
    left: -11px;
}
ul > .task-list-item {
    margin-left: 6px;
}
.show-indentation-guide .contains-task-list.has-list-bullet::before {
    margin-left: -6px;
}


ol > li.task-list-item.is-checked[data-task="x"] {
    text-decoration: var(--checklist-done-decoration);
    color: var(--checklist-done-color);
}


.cm-indent::before,
ul::before,
ol::before {
    opacity: 0.5;
    border-right: 2px solid var(--fg-blue) !important;
}


.markdown-source-view.mod-cm6 input.task-list-item-checkbox {
    border-width: 1px;
}
input.task-list-item-checkbox:hover {
    border-color: var(--header-blue);
}
input.task-list-item-checkbox:checked {
    box-shadow: inset 0 0 0 calc(0.0625 * var(--font-text-size))
        var(--background-primary);
    transition: box-shadow 0s;
}
input.task-list-item-checkbox:checked::after {
    -webkit-mask-size: calc(50% + 1px);
}

.checkbox-container {
    background-color: var(--interactive-before);
    transition: background-color var(--anim-duration-moderate)
        cubic-bezier(0, 0.5, 0, 1);
}
.checkbox-container:after {
    background-color: var(--interactive-accent);
}
.checkbox-container.is-enabled:after {
    background-color: var(--bg3);
}



.markdown-preview-view blockquote {
    padding-block: 0.25em;
    padding-left: 1.7ch;
}


.markdown-source-view:not(.is-live-preview) .HyperMD-quote {
    background-color: var(--background-embed);
    border-left: var(--blockquote-border-thickness) solid
        var(--blockquote-border-color);
}
.markdown-source-view:not(.is-live-preview)
    .cm-formatting-quote:not(.cm-formatting-quote-1) {
    position: relative;
}
.markdown-source-view:not(.is-live-preview)
    .cm-formatting-quote:not(.cm-formatting-quote-1)::before {
    content: "\200b";
    position: absolute;
    width: 1px;
    border-left: var(--blockquote-border-thickness) solid
        var(--blockquote-border-color);
    color: transparent;
    left: -2px;
}



.markdown-rendered table {
    --line-height-tight: 1.375;
}



.markdown-preview-view .block-language-dataview,
.markdown-preview-view div:not([class]):has(> table) {
    overflow: unset !important;

    > table {
        margin-block: var(--p-spacing);
    }
}


.table-view-table > thead > tr > th {
    border-left: var(--table-header-border-width) solid
        var(--table-header-border-color);
    border-top: var(--table-header-border-width) solid
        var(--table-header-border-color);
    border-right: var(--table-header-border-width) solid
        var(--table-header-border-color);
}
:root .table-view-table thead > tr > th {
    border-width: var(--table-border-width) 0 3px var(--table-border-width);
}
:root .table-view-table thead > tr > th:last-child {
    border-right-width: var(--table-border-width);
}
:root .table-view-table tbody > tr + tr > td {
    border-top: var(--table-border-width) solid var(--table-border-color);
}
:root .table-view-table tbody > tr > td {
    border-left: var(--table-border-width) solid var(--table-border-color);
}
:root .table-view-table tbody > tr > td:last-child {
    border-right: var(--table-border-width) solid var(--table-border-color);
}
:root .table-view-table tbody > tr:last-child > td {
    border-bottom: var(--table-border-width) solid var(--table-border-color);
}



.cm-s-obsidian span.cm-hashtag,
a.tag {
    font-weight: 500;
}


div:has(+ div > p > .tag) > h1 {
    margin-bottom: 0;
}
div:has(h1) + div p:has(.tag) {
    margin-top: 0;
}



.markdown-embed {
    --icon-opacity: 0.25;
    padding-inline: 10px;
    padding-block: 0.25rem;
}


.markdown-embed .markdown-preview-sizer > div {
    overflow-x: unset !important;
}


.cm-embed-block {
    box-shadow: 0 4px 14px -2px hsla(0, 0%, 0%, 0%);
    transition: box-shadow var(--anim-duration-fast) ease-out;
}


.markdown-source-view.mod-cm6 .cm-embed-block:hover .edit-block-button {
    opacity: 0.5;
}
.markdown-source-view.mod-cm6 .cm-embed-block:hover .edit-block-button:hover {
    opacity: 1;
}


.markdown-embed-title {
    display: none;
}


.internal-embed.is-loaded:not(.image-embed, [src$=".excalidraw"]) {
    background-color: var(--blockquote-background-color);
}


.markdown-embed-content
    .markdown-preview-section
    .mod-header
    + div
    :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 0;
}


.markdown-embed-content .markdown-preview-section > div:last-child > p {
    margin-bottom: 0;
}




.markdown-embed[alt~="clean"] {
    --blockquote-background-color: transparent;
    border: none;
    padding: 0;
}

.markdown-embed[alt~="no-title"]
    .markdown-preview-section
    > :is(.mod-header, .mod-header + div:has(.frontmatter))
    + div:has(h1, h2, h3, h4, h5, h6) {
    display: none;
}

.markdown-embed[alt~="no-link"] .markdown-embed-link {
    display: none;
}




.markdown-rendered .frontmatter.mod-failed:after {
    height: 0;
}
.mod-error {
    font-weight: 500;
}



.graph-view.color-circle,
.graph-view.color-fill-highlight {
    color: var(--text-muted);
}
.graph-view.color-arrow {
    color: var(--text-normal);
    opacity: 0.5;
}
.graph-view.color-line {
    color: var(--background-modifier-border);
}
.graph-view.color-fill-highlight,
.graph-view.color-line-highlight {
    color: var(--interactive-accent);
}
.graph-view.color-fill-unresolved {
    color: var(--text-muted);
    opacity: 0.4;
}




.mobile-navbar {
    box-shadow: 0 0 8px -4px var(--divider-color);
}

.is-mobile .empty-state-action {
    background-color: unset;
}



.cm-cursorLayer .cm-cursor {
}


.cm-cursorLayer {
    
    animation-name: none !important; 
}

.cm-cursorLayer .cm-cursor-secondary {
    border-left-color: var(--text-accent) !important;
    animation-iteration-count: infinite;
    animation-duration: 1200ms;
    animation-timing-function: steps(1);
    animation-name: cm-blink;
}


.cm-editor.cm-focused .cm-fat-cursor {
    background: var(--fg);
    color: var(--bg0);
}

.cm-editor:not(.cm-focused) .cm-fat-cursor {
    outline-color: var(--fg);
}







[data-type="style-settings"] .view-content > div:last-child,
.vertical-tab-content > div:has(.style-settings-heading):last-child {
    padding-bottom: 400px;
}


[data-id="everforest-enchanted-theme"]
    + .style-settings-container
    .setting-item-heading {
    margin-top: 0;
    margin-bottom: 0;
}


[data-id="everforest-enchanted-theme"]
    + .style-settings-container
    .setting-item-heading {
    border-color: var(--setting-border-color);
}
.setting-item-heading > .setting-item-info > .setting-item-name {
    color: var(--setting-border-color) !important;
}

[data-id="everforest-enchanted-theme"]
    + .style-settings-container
    .setting-item-heading
    + .style-settings-container {
    margin-top: 2px;
    padding-top: 16px;
    padding-left: 25px;
    border-width: 0 0 1px 1px;
    border-style: dashed;
    border-color: var(--setting-border-color);
}

.style-settings-collapse-indicator {
    color: var(--setting-border-color);
}


.view-content
    .style-settings-container
    :is(.setting-item-control:has(input), input[type="text"]) {
    width: 100%;
    place-content: flex-start;
}



[data-level="1"],
[data-level="1"] + .style-settings-container {
    --setting-border-color: var(--header-red);
    --setting-icon-color: var(--fg-red);
}
[data-level="2"],
[data-level="2"] + .style-settings-container {
    --setting-border-color: var(--header-orange);
    --setting-icon-color: var(--fg-orange);
}
[data-level="3"],
[data-level="3"] + .style-settings-container {
    --setting-border-color: var(--header-green);
    --setting-icon-color: var(--fg-green);
}
[data-level="4"],
[data-level="4"] + .style-settings-container {
    --setting-border-color: var(--header-blue);
    --setting-icon-color: var(--fg-blue);
}
[data-level="5"],
[data-level="5"] + .style-settings-container {
    --setting-border-color: var(--header-purple);
    --setting-icon-color: var(--fg-purple);
}




body.highlighted-folders .nav-folder:not(.is-collapsed, .mod-root) {
    border-radius: var(--radius-s);
    background-color: rgba(var(--mono-rgb-100), 0.05);
}


body:not(.is-translucent).enable-menu-blur .modal-bg {
    backdrop-filter: blur(var(--menu-blur-radius, 5px));
    opacity: 1 !important;
}


body.vim-curor-animate .cm-fat-cursor {
    transition:
        left var(--vim-cursor-speed, var(--anim-duration-superfast))
            cubic-bezier(0.39, 0.575, 0.565, 1),
        top var(--vim-cursor-speed, var(--anim-duration-superfast))
            cubic-bezier(0.39, 0.575, 0.565, 1);
}




.canvas-background > pattern > circle {
    cx: var(--canvas-dot-size, 0.7);
    cy: var(--canvas-dot-size, 0.7);
    r: var(--canvas-dot-size, 0.7);
}



body.h1-underline h1,
body.h1-underline .HyperMD-header-1.cm-line {
    border-bottom: 2px var(--h1-underline-style, solid)
        var(--background-modifier-border);
    padding-bottom: 2px;
}

body.h2-underline h2,
body.h2-underline .HyperMD-header-2.cm-line {
    border-bottom: 2px var(--h2-underline-style, solid)
        var(--background-modifier-border);
    padding-bottom: 2px;
}

body.h3-underline h3,
body.h3-underline .HyperMD-header-3.cm-line {
    border-bottom: 2px var(--h3-underline-style, solid)
        var(--background-modifier-border);
    padding-bottom: 2px;
}

body.h4-underline h4,
body.h4-underline .HyperMD-header-4.cm-line {
    border-bottom: 2px var(--h4-underline-style, solid)
        var(--background-modifier-border);
    padding-bottom: 2px;
}

body.h5-underline h5,
body.h5-underline .HyperMD-header-5.cm-line {
    border-bottom: 2px var(--h5-underline-style, solid)
        var(--background-modifier-border);
    padding-bottom: 2px;
}

body.h6-underline h6,
body.h6-underline .HyperMD-header-6.cm-line {
    border-bottom: 2px var(--h6-underline-style, solid)
        var(--background-modifier-border);
    padding-bottom: 2px;
}


body.external-link-remove-icon {
    & .cm-formatting.external-link {
        display: none;
    }
    & a.external-link {
        background-image: none;
        padding-right: unset;
    }
}


body.image-embed-enable-zoom {
    & .image-embed {
        & img {
            cursor: zoom-out;
        }

        &:active {
            --zoom-embed-size: min(
                90%,
                calc(var(--readable-line-length-custom, 700px) + 120px)
            );
            display: flex !important;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: fixed;
            max-width: 100%;
            width: 100% !important;
            margin: auto 0 !important;
            inset: 0;
            object-fit: contain;
            z-index: 1;
        }
        &:active img {
            width: var(--zoom-embed-size) !important;
            max-height: 80%;
            margin: 0 !important;
            user-select: none;
            object-fit: contain;
        }
        &:active::after {
            margin-inline: 0 !important;
            padding: 1ch;
            font-size: large;
            box-sizing: border-box;
            width: var(--zoom-embed-size) !important;
            background-color: var(--background-primary);
        }
        &:active::before {
            content: "";
            position: absolute;
            background-color: var(--color-base-00);
            width: 100%;
            height: 100%;
            z-index: -1;
            opacity: 0.75;
        }
    }

    
    &.image-embed-no-drag .image-embed:active img {
        pointer-events: none;
    }

    
    & .cm-embed-block.cm-callout:has(.image-embed:active) {
        contain: none !important;
    }
}






body:not(.disable-math-outline)
    :is(
        div.math-block,
        span.math-block > mjx-container,
        .math.math-block.cm-embed-block
    ) {
    border: 1px solid var(--bg5);
    border-radius: 5px;
}



body.centered-tables table {
    margin-inline: auto;
}


body.full-width-tables table {
    width: 100%;
}


body.rounded-tables :where(table:not(:has([rowspan]))) {
    border-collapse: separate;
    border-spacing: 0;

    & :is(td, th) {
        border-width: 0 var(--table-border-width) var(--table-border-width) 0;
    }
    & th:first-of-type {
        border-top-left-radius: var(--rounded-tables-radius, 8px);
    }
    & th:last-of-type {
        border-top-right-radius: var(--rounded-tables-radius, 8px);
    }
    & tr:last-of-type td:first-of-type {
        border-bottom-left-radius: var(--rounded-tables-radius, 8px);
    }
    & tr:last-of-type td:last-of-type {
        border-bottom-right-radius: var(--rounded-tables-radius, 8px);
    }
}



.custom-stacked-panes-enabled .mod-vertical .mod-stacked .workspace-leaf {
    max-width: calc(
        (100% / var(--custom-stacked-panes-count, 2)) - 2.5rem
    ) !important;
    width: 100% !important;
}



.theme-dark {
    --background-image-url: var(--background-image-dark-url);
}
.theme-light {
    --background-image-url: var(--background-image-light-url);
}

body.background-image-enabled {
    
    --canvas-background: transparent;

    --background-transparent: rgba(
        var(--background-primary-rgb),
        var(--pane-opacity, 0.85)
    );
    --background-partially-transparent: rgba(
        var(--background-primary-rgb),
        var(--ui-opacity, 0.85)
    );
    --background-tabs-transparent: rgba(
        var(--background-primary-rgb),
        var(--tab-opacity, 0.85)
    );
}


.background-image-enabled .horizontal-main-container {
    background-color: var(--background-primary);
    background-image: var(--background-image-url);
    background-position: var(--background-image-position, center);
    background-size: cover;
}


.workspace-tab-container::-webkit-scrollbar-track,
.background-image-enabled :is(.mod-root .view-content, .view-header) {
    background-color: var(--background-transparent) !important;
}


.background-image-enabled
    :is(
        .mod-root .workspace-tab-header-container,
        .workspace-ribbon,
        .workspace-split,
        .graph-controls
    ),
.workspace-ribbon::before {
    background-color: var(--background-partially-transparent) !important;
}


.background-image-enabled
    .workspace-tab-container
    .workspace-tab-header:not(.mod-active),
.background-image-enabled
    .workspace-tab-container
    .workspace-tab-header.mod-active {
    background-color: var(--background-tabs-transparent) !important;
}


.background-image-enabled
    :is(
        .titlebar-button-container,
        .mod-vertical .workspace-tab-header,
        .document-search-container,
        .workspace-leaf,
        .horizontal-main-container > .workspace,
        .pdf-sidebar-container,
        .pdf-container,
        .pdf-toolbar
    ),
.background-image-enabled
    .workspace-split:not(.mod-root, .mod-horizontal)
    .workspace-tab-header-container,
.background-image-enabled
    .workspace-split:not(.mod-left-split, .mod-right-split),
.background-image-enabled
    .workspace-split.mod-left-split
    .workspace-sidedock-vault-profile {
    background-color: transparent !important;
}

.background-image-enabled .workspace-tab-header-container {
    background-color: unset;
}


.background-image-enabled .workspace-tab-header.is-active::before,
.background-image-enabled .workspace-tab-header.is-active::after,
.background-image-enabled .view-header-title-container:not(.mod-at-end):after {
    display: none;
}


.background-image-pane-view .view-content:has(.markdown-reading-view) {
    background-color: transparent !important;
}
.background-image-pane-view .view-content .cm-sizer,
.background-image-pane-view
    .view-content
    > .markdown-reading-view
    > .markdown-rendered
    > .markdown-preview-sizer {
    box-sizing: content-box;
    padding-inline: 2rem;
    padding-top: 2rem;
    border-radius: 1rem;
    background-color: var(--background-transparent) !important;
}
.background-image-pane-view .view-content .cm-sizer:has(.cm-gutters) {
    padding-left: calc(2rem + 24px);
}
:root .background-image-pane-view .view-header {
    background-color: var(--background-partially-transparent) !important;
}

:root .background-image-pane-view .view-content:has(> .empty-state) {
    width: fit-content;
    height: unset;
    margin: auto;
    padding: clamp(2rem, 5vw, 4rem);
    border-radius: 1rem;
}
.background-image-enabled .empty-state {
    position: static;
}


body.visual-parity-enabled {
    --p-spacing: calc(1.5 * var(--font-text-size));
    --heading-spacing: calc(var(--p-spacing) * 1);

    
    .markdown-rendered hr {
        margin-block: calc(
            (
                    var(--font-text-size, 1rem) * var(--line-height-normal) -
                        var(--hr-thickness)
                ) / 2 + var(--p-spacing)
        );
    }

    
    .is-live-preview .cm-content > .HyperMD-header {
        padding-top: unset;
    }

    .markdown-source-view.mod-cm6 .cm-table-widget {
        padding-block: 0;
    }

    
    .HyperMD-header:has(> .is-collapsed) {
        padding-block: 0 var(--p-spacing);
    }

    
    & :not(blockquote) + blockquote,
    & .cm-line:not(.HyperMD-quote-1) + .HyperMD-quote-1,
    & .HyperMD-quote-1:first-child {
        padding-top: 0.25em !important;
    }
    & blockquote:has(+ :not(blockquote)),
    & .HyperMD-quote-1:has(+ .cm-line:not(.HyperMD-quote-1)),
    & .HyperMD-quote-1:last-child {
        padding-bottom: 0.25em !important;
    }
}





.callout {
    --callout-content-padding: var(--size-4-2) var(--size-4-4);
    --callout-content-color: rgba(var(--bg-dim-rgb), 0.3);
    --callout-border-solid: 1px solid rgba(var(--callout-color), 0.3);
    --callout-border-dashed: 1px dashed rgba(var(--callout-color), 0.4);
    padding: 0;
    border-left: 0.125rem solid rgba(var(--callout-color), 0.7);
    border-top: var(--callout-border-solid);
    border-right: var(--callout-border-solid);
    border-bottom: var(--callout-border-solid);
    border-radius: 4px;
    mix-blend-mode: normal !important;
}
.callout,
.cm-callout {
    box-shadow: 2px 2px 3px #0004;
}
.callout-title {
    padding: 0.5rem 0.75rem;
    gap: 0.5rem;
    border-radius: 2px 2px 0 0;
    background-color: rgba(var(--callout-color), 0.2);
}
.callout.is-collapsible .callout-title {
    cursor: pointer !important;
}
.callout-icon svg.svg-icon {
    color: rgb(var(--callout-color));
}
.callout-title-inner {
    color: color-mix(
        in srgb,
        rgb(var(--callout-color)) 70%,
        var(--color-base-100)
    );
    filter: contrast(2);
}
.callout-title-inner > * {
    filter: contrast(0.5);
}
.callout-fold {
    margin-left: auto;
}
.callout-content {
    border-top: var(--callout-border-dashed);
    border-radius: 0 0 2px 2px;
    background-color: rgba(var(--bg-dim-rgb), 0.3);
}
.callout-content > *:first-child {
    margin-top: 0;
}
.callout-content > *:last-child {
    margin-bottom: 0;
}


.callout[data-callout="quote"] {
    display: flex;
    flex-direction: column-reverse;
    position: relative;
}
.callout[data-callout="quote"] .callout-title {
    background-color: var(--callout-content-color);
    padding: 0 1ch 1ch;
    display: block;
    text-align: right;
}
.callout[data-callout="quote"] .callout-title .callout-icon {
    display: none;
}
.callout[data-callout="quote"] .callout-content {
    border: none;
    padding-top: var(--size-4-4);
}



.callout[data-callout="math"] {
    --callout-color: 132, 255, 255;
    --callout-icon: lucide-sigma;
}
.callout[data-callout="math"] .callout-content {
    padding: 0 !important;
}
.callout[data-callout="math"] .callout-content .math-block {
    border: none;
}
.callout[data-callout="graph"] {
    --callout-color: 255, 152, 0;
    --callout-icon: lucide-line-chart;
}
.callout[data-callout="image"] {
    --callout-color: 234, 128, 252;
    --callout-icon: lucide-image;
}
.callout[data-callout="image"] .callout-content {
    padding: 0 !important;
}
.callout[data-callout="code"] {
    --callout-color: 76, 175, 80;
    --callout-icon: lucide-curly-braces;
}
.callout[data-callout="code"] .callout-content {
    padding: 0 !important;
}
.callout[data-callout="code"] .callout-content > pre {
    margin-block: 0;
    background-color: var(--code-background);
}



img {
    display: block;
    margin-inline: auto;
    image-rendering: auto !important;
}



.cm-line:not(.cm-active):has(
        .image-embed ~ .image-embed,
        img:not(.cm-widgetBuffer) ~ img:not(.cm-widgetBuffer)
    ):not(:has([alt="inline"])),
p:has(.image-embed ~ .image-embed, img ~ img):not(:has([alt="inline"])) {
    display: flex;
    gap: 0.5rem;
    align-items: start;

    & > .image-embed {
        flex: 1 1 0;
        display: flex;
        justify-content: center;
    }
    & > .cm-widgetBuffer {
        display: none !important;
    }
}

:root:root
    .cm-line.cm-active
    > :is(.image-embed:not([alt="inline"]), img:not([alt="inline"])) {
    width: 100px;
    display: inline-block;
}

:root:root .cm-line:not(.cm-active) > .image-embed:not([alt="inline"]),
p > .image-embed:not([alt="inline"]) {
    display: flex;
    place-items: center;
    flex-direction: column;
}


img[alt="inline"] {
    display: inline !important;
}




.image-embed-stretch {
    --img-width: 100;
}


.image-embed > img:not([width]),
span > img[src^="http"]:not([width]) {
    display: block;
    width: calc(var(--img-width) / 100 * min(100%, var(--file-line-width)));
    margin-right: auto;
}
.image-embed[src~="1/4"],
img[src^="http"][alt~="1/4"] {
    --img-width: 25;
}
.image-embed[src~="2/5"],
img[src^="http"][alt~="2/5"] {
    --img-width: 40;
}
.image-embed[src~="1/3"],
img[src^="http"][alt~="1/3"] {
    --img-width: 33.3;
}
.image-embed[src~="1/2"],
img[src^="http"][alt~="1/2"] {
    --img-width: 50;
}
.image-embed[src~="3/5"],
img[src^="http"][alt~="3/5"] {
    --img-width: 60;
}
.image-embed[src~="2/3"],
img[src^="http"][alt~="2/3"] {
    --img-width: 66.6;
}
.image-embed[src~="3/4"],
img[src^="http"][alt~="3/4"] {
    --img-width: 75;
}
.image-embed[src~="4/5"],
img[src^="http"][alt~="4/5"] {
    --img-width: 80;
}
.image-embed[src~="1/1"],
.image-embed[src~="full"],
img[src^="http"][alt~="1/1"],
img[src^="http"][alt~="full"] {
    --img-width: 100;
}


.image-embed[src~="left"] > img,
.markdown-source-view.mod-cm6 .cm-content img[src^="http"][alt~="left"],
img[src^="http"][alt~="left"] {
    margin-left: 0 !important;
}
.image-embed[src~="right"] > img,
.markdown-source-view.mod-cm6 .cm-content img[src^="http"][alt~="right"],
img[src^="http"][alt~="right"] {
    margin-right: 0 !important;
}

.markdown-source-view.mod-cm6 .cm-content > img {
    margin-inline: auto !important;
}


.markdown-reading-view .image-embed[src~="float"] > img:not([width]) {
    width: calc(
        var(--img-width, 100) / 100 * min(100vw, var(--file-line-width))
    );
    margin: 0 !important;
}
.markdown-reading-view .image-embed[src~="float"] {
    clear: both;
}
.markdown-reading-view .image-embed[src~="float"][src~="left"] {
    float: left;
    margin-right: 2%;
}
.markdown-reading-view .image-embed[src~="float"][src~="right"] {
    float: right;
    margin-left: 2%;
}


.image-embed[src~="white"] > img,
img[src^="http"][alt~="white"] {
    background-color: white;
}
.image-embed[src~="black"] > img,
img[src^="http"][alt~="black"] {
    background-color: black;
}
.image-embed[src~="border"] > img,
img[src^="http"][alt~="border"] {
    border: 0.25rem solid var(--background-modifier-border);
}
.image-embed[src~="shadow"] > img,
img[src^="http"][alt~="shadow"] {
    box-shadow: 2px 2px 4px #0007;
}
.image-embed[src~="rounded"] > img,
img[src^="http"][alt~="rounded"] {
    border-radius: 0.5rem;
}
.image-embed[src~="blur"] > img,
img[src^="http"][alt~="blur"] {
    filter: blur(5px);
    transition: filter 500ms 250ms ease;
}
.image-embed[src~="blur"] > img:hover,
img[src^="http"][alt~="blur"]:hover {
    filter: blur(0);
}


body:not(.no-image-alttext-caption)
    .image-embed:not(
        [alt*=".png"],
        [alt*=".gif"],
        [alt*=".jpg"],
        [alt*=".jpeg"],
        [alt*=".tiff"],
        [alt*=".avif"],
        [alt*=".webp"],
        [alt="inline"],
        [width]
    )::after {
    content: attr(alt);
    display: block;
    color: var(--text-muted);
    text-align: center;
    width: calc(
        var(--img-width, 100) / 100 * min(100%, var(--file-line-width))
    );
}

.image-embed {
    &::after {
        margin-inline: auto;
    }
    &[src~="left"]::after {
        margin-inline: 0 auto;
    }
    &[src~="right"]::after {
        margin-inline: auto 0;
    }
    :root .markdown-preview-view &[src~="float"]::after {
        width: 100%;
    }
}




.full-width {
    --file-line-width: 100%;
}
.wide-width {
    --file-line-width: var(--wide-width-readable-line-length-custom, 1000px);
}


.columns :where(div, li) > ol {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.5rem;
    padding-left: 0;
}
.columns :where(div, li) > ol > li {
    outline: 1px solid var(--color-base-40);
    padding: 0.5rem 0.75rem;
}
.columns :where(div, li) > ol > li > ul {
    background: none;
}
.columns :where(div, li) > ol > li > .list-collapse-indicator {
    display: none;
}
.columns :where(div, li) > ol > li > :where(ul, ol):before {
    border-right: none !important;
}



.dashboard {
    & .markdown-preview-section .title {
        top: 60px;
        left: 50%;
        transform: translateX(-50%);
        position: absolute;
        font-size: 26pt !important;
        font-weight: bolder;
        letter-spacing: 8px;
    }

    & h1 {
        border-bottom-style: dotted !important;
        border-width: 1px !important;
        padding-bottom: 3px !important;
    }
    & div > ul:not(.dataview) {
        list-style: none;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 0.5rem;
        padding-left: 0;
        & > li {
            outline: 1px solid var(--bg5);
            padding: 0.5rem 0.25rem;
        }
    }

    & div > ul > li {
        & > .list-bullet {
            display: none;
        }
        & .list-collapse-indicator {
            display: none;
        }
        & ul:before {
            border-right: none !important;
        }
    }
}




.dataview.list-view-ul li {
    list-style-type: none;
}
.dataview.list-view-ul li::before {
    visibility: visible;
    position: absolute;
    content: "\200B";
    pointer-events: none;
    border-radius: var(--list-bullet-radius);
    width: var(--list-bullet-size);
    height: var(--list-bullet-size);
    border: var(--list-bullet-border);
    transform: translate(-0.85em, 0.6em);
    background-color: var(--list-marker-color);
    transition:
        transform 0.15s,
        box-shadow 0.15s;
}
.table-view-table > tbody > tr:hover {
    background-color: var(--table-row-background-hover) !important;
}


div.math-block {
    padding-block: 0.125em;
}

span.math-block > mjx-container {
    padding-block: 1rem;
}


.MJX-TEX {
    font-size: 110%;
}

mjx-stretchy-h.mjx-c2013 mjx-ext mjx-c::before {
    font-weight: 900;
}


hr.page-break {
    opacity: 0.5;
    height: 1.5rem;
    display: flex;
    border-top: 4px dotted;
    background-color: unset;
}
hr.page-break::before {
    content: "Page Break";
    font-size: 0.75em;
    margin-inline: auto;
}
@media print {
    hr.page-break {
        visibility: hidden;
        page-break-after: always;
    }
}


ol > li > p {
    margin: 0;
}


.markdown-preview-view .embedded-backlinks {
    margin-top: 100px;
}


:root .cm-lineWrapping {
    white-space: unset;
}
