// The code snippets in this file are derived from the Halcyon theme
//- https://github.com/dbarenholz/halcyon-obsidian?tab=readme-ov-file */

body.theme-dark {
  --text-normal: #d3d5d3;
}

body.theme-light {
  --text-normal: #080808;
}

body {
  --text-highlight-bg: color-mix(in hsl, var(--color-cyan) 20%, transparent);
  --flexcyon-w-spacing: 0px;
  --flexcyon-l-spacing: 0px;
  word-spacing: var(--flexcyon-w-spacing);
  letter-spacing: var(--flexcyon-l-spacing);
  --oz-fta-file-font-size: 0.9rem;
  --oz-fta-folder-font-size: 0.925rem;
  text-underline-offset: 0.1em;

  --flexcyon-settings-installed-tooltip-left-margin: 1rem;

  --h1-line-height: 1.61;
  --h2-line-height: 1.51;
  --h3-line-height: 1.41;
  --h4-line-height: 1.31;
  --h5-line-height: 1.21;
  --h6-line-height: 1.21;
  --line-height-normal: 1.4;
  --line-height-tight: 1.25;

  --flexcyon-text-muted: #6f768599;
  --text-muted: color-mix(
    in hsl,
    var(--flexcyon-text-muted),
    var(--text-normal)
  );
  --text-faint: var(--flexcyon-text-muted);

  --text-accent: var(--flexcyon-accent);
  --text-on-accent: var(--flexcyon-base-03);
  --text-accent-hover: var(--flexcyon-accent-hover);

  --text-error: var(--flexcyon-red-salmon);
  --text-warning: var(--flexcyon-red-salmon);
  --text-success: var(--flexcyon-lime-green);

  --text-selection: color-mix(
    in hsl shorter hue,
    var(--flexcyon-base-04) 20%,
    transparent
  );

  --bold-color: var(--flexcyon-red-salmon);
  --italic-color: var(--flexcyon-accent);

  --flexcyon-highlight-verti-padding: 1px;
  --flexcyon-highlight-horiz-padding: 2.5px;
  --flexcyon-highlight-border-radius: 4px;
  --font-ui-smaller: 12.94424px;
  --font-ui-small: 14.56227px;
  --font-ui-medium: 16.1803px;
  --font-ui-large: 17.79833px;

  .cm-em.cm-quote {
    color: var(--italic-color);
  }
  .cm-formatting-em,
  .cm-formatting-strong,
  .cm-formatting-code,
  .cm-formatting-math {
    opacity: calc(var(--dimmed) + 0.25);
  }

  .cm-strong.cm-quote {
    color: var(--bold-color);
  }

  .cm-line .ͼi {
    color: var(--flexcyon-cyan);
  }

  .cm-line .ͼj {
    color: var(--flexcyon-orange);
  }

  .cm-line .ͼc {
    color: var(--flexcyon-accent);
  }

  .cm-line .ͼb {
    color: var(--flexcyon-yellow);
  }

  .cm-line .cm-matchingbracket {
    color: var(--flexcyon-purple-lilac);
  }

  .cm-line .ͼi {
    color: var(--flexcyon-cyan);
  }

  .cm-line .ͼj {
    color: var(--flexcyon-orange);
  }

  .cm-line .ͼc {
    color: var(--flexcyon-accent);
  }

  .cm-line .ͼb {
    color: var(--flexcyon-yellow);
  }

  .cm-line .cm-matchingbracket {
    color: var(--flexcyon-purple-lilac);
  }

  .cm-s-obsidian span.cm-formatting-highlight,
  .cm-s-obsidian span.cm-highlight,
  .markdown-source-view:is(.is-live-preview) mark {
    color: var(--text-normal);
    background-color: var(--text-highlight-bg);
    padding: var(--flexcyon-highlight-verti-padding)
      var(--flexcyon-highlight-horiz-padding);
    border-radius: var(--flexcyon-highlight-border-radius);
    font-weight: 525;
  }
  .cm-s-obsidian span.cm-formatting-highlight {
    border-radius: 0px;
    color: var(--text-highlight-bg);
    background-color: inherit;
  }

  .cm-line .ͼi {
    color: var(--flexcyon-cyan);
  }

  .cm-line .ͼj {
    color: var(--flexcyon-orange);
  }

  .cm-line .ͼc {
    color: var(--flexcyon-accent);
  }

  .cm-line .ͼb {
    color: var(--flexcyon-yellow);
  }

  .cm-line .cm-matchingbracket {
    color: var(--flexcyon-purple-lilac);
  }
}
