/* Matugen Obsidian Dynamic Colors Snippet
 * Place output in: <vault>/.obsidian/snippets/matugen.css
 * Then enable it in: Settings → Appearance → CSS Snippets
 */

.theme-dark, .theme-light {

    /* ── Material You RGB helpers ──────────────────────────── */
    --mat-bg-rgb:             14, 21, 13;
    --mat-surface-rgb:        14, 21, 13;
    --mat-on-surface-rgb:     221, 229, 215;
    --mat-primary-rgb:        88, 225, 104;
    --mat-on-primary-rgb:     0, 57, 13;

    /* ── Core Backgrounds ──────────────────────────────────── */
    --background-primary:           #0e150d;
    --background-primary-alt:       #0e150d;
    --background-secondary:         #161d15;
    --background-secondary-alt:     #1a2219;

    /* ── Titlebar ──────────────────────────────────────────── */
    --titlebar-background:          #0e150d;
    --titlebar-background-focused:  #161d15;
    --titlebar-text-color:          #dde5d7;

    /* ── Borders & Dividers ────────────────────────────────── */
    --background-modifier-border:         #3d4a3b;
    --background-modifier-border-focus:   #879583;
    --background-modifier-border-hover:   #879583;

    /* ── Text Colors ───────────────────────────────────────── */
    --text-normal:      #dde5d7;
    --text-muted:       #bccbb7;
    --text-faint:       #879583;
    --text-on-accent:   #00390d;
    --text-selection:   rgba(88, 225, 104, 0.25);

    /* ── Accent & Interactive ──────────────────────────────── */
    --interactive-accent:           #58e168;
    --interactive-accent-hover:     #16af3e;
    --interactive-accent-rgb:       88, 225, 104;
    --text-accent:                  #58e168;
    --text-accent-hover:            #16af3e;

    /* ── Hover & Active Modifiers ──────────────────────────── */
    --background-modifier-hover:          rgba(var(--mat-on-surface-rgb), 0.06);
    --background-modifier-active-hover:   rgba(var(--mat-primary-rgb), 0.15);
    --background-modifier-success:        #fe5f8c;
    --background-modifier-error:          #93000a;
    --background-modifier-error-hover:    #ffb4ab;

    /* ── Obsidian Color Scale (--color-base-XX) ────────────── */
    --color-base-00:    #0e150d;
    --color-base-05:    #0e150d;
    --color-base-10:    #091008;
    --color-base-20:    #161d15;
    --color-base-25:    #1a2219;
    --color-base-30:    #242c23;
    --color-base-35:    #2f372d;
    --color-base-40:    #3d4a3b;
    --color-base-50:    #879583;
    --color-base-60:    #bccbb7;
    --color-base-70:    #dde5d7;
    --color-base-100:   #dde5d7;

    /* ── Semantic Colors ───────────────────────────────────── */
    --color-red:        #ffb4ab;
    --color-orange:     #ffb1c1;
    --color-yellow:     #98d695;
    --color-green:      #fe5f8c;
    --color-cyan:       #1a5422;
    --color-blue:       #58e168;
    --color-purple:     #98d695;
    --color-pink:       #ffb1c1;

    /* ── Headings ──────────────────────────────────────────── */
    --h1-color:     #58e168;
    --h2-color:     #58e168;
    --h3-color:     #98d695;
    --h4-color:     #ffb1c1;
    --h5-color:     #bccbb7;
    --h6-color:     #879583;

    /* ── Links ─────────────────────────────────────────────── */
    --link-color:           #58e168;
    --link-color-hover:     #000601;
    --link-external-color:  #ffb1c1;
    --link-unresolved-color: #879583;

    /* ── Tags ──────────────────────────────────────────────── */
    --tag-color:            #000601;
    --tag-background:       #16af3e;
    --tag-border-color:     #58e168;
    --tag-color-hover:      #00390d;
    --tag-background-hover: #58e168;

    /* ── Checkboxes ────────────────────────────────────────── */
    --checkbox-color:           #58e168;
    --checkbox-color-hover:     #16af3e;
    --checkbox-border-color:    #879583;
    --checkbox-marker-color:    #00390d;

    /* ── Code Blocks ───────────────────────────────────────── */
    --code-background:  #161d15;
    --code-normal:      #dde5d7;
    --code-comment:     #879583;
    --code-function:    #58e168;
    --code-important:   #ffb4ab;
    --code-keyword:     #98d695;
    --code-operator:    #ffb1c1;
    --code-property:    #bccbb7;
    --code-punctuation: #3d4a3b;
    --code-string:      #ffb1c1;
    --code-tag:         #ffb4ab;
    --code-value:       #98d695;

    /* ── Scrollbar ─────────────────────────────────────────── */
    --scrollbar-thumb-bg:           rgba(var(--mat-on-surface-rgb), 0.12);
    --scrollbar-active-thumb-bg:    rgba(var(--mat-on-surface-rgb), 0.25);
    --scrollbar-bg:                 transparent;

    /* ── Inputs ────────────────────────────────────────────── */
    --input-shadow: none;
    --input-shadow-hover: 0 0 0 2px #879583;

    /* ── Graph View ────────────────────────────────────────── */
    --graph-node:           #58e168;
    --graph-node-unresolved: #879583;
    --graph-node-focused:   #000601;
    --graph-node-tag:       #98d695;
    --graph-node-attachment: #ffb1c1;
    --graph-line:           #3d4a3b;
    --graph-background:     #0e150d;

}

/* ── Active line highlight ─────────────────────────────────── */
.cm-active {
    background-color: rgba(var(--mat-on-surface-rgb), 0.03) !important;
}