/* @theme catppuccin */

@import 'uncover';

:root {
    --color-background: var(--base);
    --color-background-code: var(--crust);
    --color-background-paginate: var(--mantle);
    --color-foreground: var(--text);
    --color-highlight: var(--blue);
    --color-highlight-hover: var(--lavender);
    --color-highlight-heading: var(--sapphire);
    --color-header: var(--blue);
    --color-header-shadow: transparent;

    --text-font: "Ubuntu Nerd Font", Helvetica, sans-serif;
    --title-font: "Ubuntu Nerd Font", Helvetica, sans-serif;
    --mono-font: "UbuntuMono Nerd Font", monospace;

    --standard-border-radius: .5rem;
}

section {
    font-family: var(--text-font);
}

section,
section.latte {
    color-scheme: light;
    --pink: #ea76cb;
    --mauve: #8839ef;
    --red: #d20f39;
    --maroon: #e64553;
    --peach: #fe640b;
    --yellow: #df8e1d;
    --green: #40a02b;
    --teal: #179299;
    --sky: #04a5e5;
    --sapphire: #209fb5;
    --blue: #1e66f5;
    --lavender: #7287fd;
    --text: #4c4f69;
    --subtext1: #5c5f77;
    --subtext0: #6c6f85;
    --overlay2: #7c7f93;
    --overlay1: #8c8fa1;
    --overlay0: #9ca0b0;
    --surface2: #acb0be;
    --surface1: #bcc0cc;
    --surface0: #ccd0da;
    --base: #eff1f5;
    --mantle: #e6e9ef;
    --crust: #dce0e8;
}

section.frappe {
    color-scheme: dark;
    --pink: #f4b8e4;
    --mauve: #ca9ee6;
    --red: #e78284;
    --maroon: #ea999c;
    --peach: #ef9f76;
    --yellow: #e5c890;
    --green: #a6d189;
    --teal: #81c8be;
    --sky: #99d1db;
    --sapphire: #85c1dc;
    --blue: #8caaee;
    --lavender: #babbf1;
    --text: #c6d0f5;
    --subtext1: #b5bfe2;
    --subtext0: #a5adce;
    --overlay2: #949cbb;
    --overlay1: #838ba7;
    --overlay0: #737994;
    --surface2: #626880;
    --surface1: #51576d;
    --surface0: #414559;
    --base: #303446;
    --mantle: #292c3c;
    --crust: #232634;
}

section.macchiato {
    color-scheme: dark;
    --pink: #f5bde6;
    --mauve: #c6a0f6;
    --red: #ed8796;
    --maroon: #ee99a0;
    --peach: #f5a97f;
    --yellow: #eed49f;
    --green: #a6da95;
    --teal: #8bd5ca;
    --sky: #91d7e3;
    --sapphire: #7dc4e4;
    --blue: #8aadf4;
    --lavender: #b7bdf8;
    --text: #cad3f5;
    --subtext1: #b8c0e0;
    --subtext0: #a5adcb;
    --overlay2: #939ab7;
    --overlay1: #8087a2;
    --overlay0: #6e738d;
    --surface2: #5b6078;
    --surface1: #494d64;
    --surface0: #363a4f;
    --base: #24273a;
    --mantle: #1e2030;
    --crust: #181926;
}

section.mocha {
    color-scheme: dark;
    --pink: #f5c2e7;
    --mauve: #cba6f7;
    --red: #f38ba8;
    --maroon: #eba0ac;
    --peach: #fab387;
    --yellow: #f9e2af;
    --green: #a6e3a1;
    --teal: #94e2d5;
    --sky: #89dceb;
    --sapphire: #74c7ec;
    --blue: #89b4fa;
    --lavender: #b4befe;
    --text: #cdd6f4;
    --subtext1: #bac2de;
    --subtext0: #a6adc8;
    --overlay2: #9399b2;
    --overlay1: #7f849c;
    --overlay0: #6c7086;
    --surface2: #585b70;
    --surface1: #45475a;
    --surface0: #313244;
    --base: #1e1e2e;
    --mantle: #181825;
    --crust: #11111b;
}

code {
    font-family: var(--mono-font);
    border-radius: .2rem;
    border-style: dashed;
    border-color: var(--overlay0);
    border-width: 2px;
}

section :is(pre, marp-pre) > code {
    border-width: 3px;
    border-color: var(--overlay0);
    border-style: solid;
    border-radius: var(--standard-border-radius);
}

section :is(pre, marp-pre) {
    filter: none;
}

footer,
header {
    color: var(--overlay0);
    text-align: left;
    font-size: .3rem;
}

kbd {
  background-color: var(--surface0);
  border-radius: 6px;
  border: 1px solid var(--overlay0);
  box-shadow:
    0 2px 1px rgba(0, 0, 0, 0.2);
  color: var(--text);
  display: inline-block;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1;
  padding: 2px 4px;
  white-space: nowrap;
}

code.hljs {
    color: var(--text);
    background: var(--base)
}

code .hljs-keyword {
    color: var(--mauve)
}

code .hljs-built_in {
    color: var(--red)
}

code .hljs-type {
    color: var(--yellow)
}

code .hljs-literal {
    color: var(--peach)
}

code .hljs-number {
    color: var(--peach)
}

code .hljs-operator {
    color: var(--sky)
}

code .hljs-punctuation {
    color: var(--subtext1)
}

code .hljs-property {
    color: var(--teal)
}

code .hljs-regexp {
    color: var(--pink)
}

code .hljs-string {
    color: var(--green)
}

code .hljs-char.escape_ {
    color: var(--green)
}

code .hljs-subst {
    color: var(--subtext0)
}

code .hljs-symbol {
    color: var(--flamingo)
}

code .hljs-variable {
    color: var(--mauve)
}

code .hljs-variable.language_ {
    color: var(--mauve)
}

code .hljs-variable.constant_ {
    color: var(--peach)
}

code .hljs-title {
    color: var(--blue)
}

code .hljs-title.class_ {
    color: var(--yellow)
}

code .hljs-title.function_ {
    color: var(--blue)
}

code .hljs-params {
    color: var(--text)
}

code .hljs-comment {
    color: var(--overlay2)
}

code .hljs-doctag {
    color: var(--red)
}

code .hljs-meta {
    color: var(--peach)
}

code .hljs-section {
    color: var(--blue)
}

code .hljs-tag {
    color: var(--teal)
}

code .hljs-name {
    color: var(--mauve)
}

code .hljs-attr {
    color: var(--blue)
}

code .hljs-attribute {
    color: var(--green)
}

code .hljs-bullet {
    color: var(--teal)
}

code .hljs-code {
    color: var(--green)
}

code .hljs-emphasis {
    color: var(--red);
    font-style: italic
}

code .hljs-strong {
    color: var(--red);
    font-weight: bold
}

code .hljs-formula {
    color: var(--teal)
}

code .hljs-link {
    color: var(--sapphire);
    font-style: italic
}

code .hljs-quote {
    color: var(--green);
    font-style: italic
}

code .hljs-selector-tag {
    color: var(--yellow)
}

code .hljs-selector-id {
    color: var(--blue)
}

code .hljs-selector-class {
    color: var(--teal)
}

code .hljs-selector-attr {
    color: var(--mauve)
}

code .hljs-selector-pseudo {
    color: var(--teal)
}

code .hljs-template-tag {
    color: var(--flamingo)
}

code .hljs-template-variable {
    color: var(--flamingo)
}

code .hljs-addition {
    color: var(--green);
    background: rgb(from var(--green) r g b/15%)
}

code .hljs-deletion {
    color: var(--red);
    background: rgb(from var(--red) r g b/15%)
}

div.admonition {
    margin-top: .5rem;
    margin-bottom: .5rem;
    text-align: initial;
    padding: .5rem;
    padding-top: .2rem;
    border-style: dashed;
    border-radius: var(--standard-border-radius);
    border-width: 2px;
}

div.admonition > p.admonition-title {
    margin-top: .2rem;
    margin-bottom: .2rem;
}

div.admonition > p.admonition-title::before {
    margin-right: .5rem;
}

/* Info */

div.admonition.info > p.admonition-title,
div.admonition.info > p.admonition-title::before {
    content: "";
    color: var(--sapphire);
}

div.admonition.info {
    border-color: var(--sapphire);
    background-color: color-mix(in srgb, var(--sapphire), transparent 90%);
}

/* success */
div.admonition.success > p.admonition-title,
div.admonition.success > p.admonition-title::before {
    content: "";
    color: var(--green);
}

div.admonition.success {
    border-color: var(--green);
    background-color: color-mix(in srgb, var(--green), transparent 90%);
}

/* Warning */
div.admonition.warning > p.admonition-title,
div.admonition.warning > p.admonition-title::before {
    content: "";
    color: var(--yellow);
}

div.admonition.warning {
    border-color: var(--yellow);
    background-color: color-mix(in srgb, var(--yellow), transparent 90%);
}

/* Danger */
div.admonition.danger > p.admonition-title,
div.admonition.danger > p.admonition-title::before {
    content: "󰈸";
    color: var(--red);
}

div.admonition.danger {
    border-color: var(--red);
    background-color: color-mix(in srgb, var(--red), transparent 90%);
}

/* Failure */
div.admonition.failure > p.admonition-title,
div.admonition.failure > p.admonition-title::before {
    content: "";
    color: var(--red);
}

div.admonition.failure {
    border-color: var(--red);
    background-color: color-mix(in srgb, var(--red), transparent 90%);
}

/* Tip */
div.admonition.tip > p.admonition-title,
div.admonition.tip > p.admonition-title::before {
    content: "󰌵";
    color: var(--teal);
}

div.admonition.tip {
    border-color: var(--teal);
    background-color: color-mix(in srgb, var(--teal), transparent 90%);
}

/* Note */
div.admonition.note > p.admonition-title,
div.admonition.note > p.admonition-title::before {
    content: "";
    color: var(--lavender);
}

div.admonition.note {
    border-color: var(--lavender);
    background-color: color-mix(in srgb, var(--lavender), transparent 90%);
}

/* Question */
div.admonition.question > p.admonition-title,
div.admonition.question > p.admonition-title::before {
    content: "";
    color: var(--sky);
}

div.admonition.question {
    border-color: var(--sky);
    background-color: color-mix(in srgb, var(--sky), transparent 90%);
}

/* Example */
div.admonition.example > p.admonition-title,
div.admonition.example > p.admonition-title::before {
    content: "";
    color: var(--mauve);
}

div.admonition.example {
    border-color: var(--mauve);
    background-color: color-mix(in srgb, var(--mauve), transparent 90%);
}

/* Bug */
div.admonition.bug > p.admonition-title,
div.admonition.bug > p.admonition-title::before {
    content: "";
    color: var(--maroon);
}

div.admonition.bug {
    border-color: var(--maroon);
    background-color: color-mix(in srgb, var(--maroon), transparent 90%);
}

/* Quote */
div.admonition.quote > p.admonition-title,
div.admonition.quote > p.admonition-title::before {
    content: "";
    color: var(--overlay1);
}

div.admonition.quote {
    border-color: var(--overlay1);
    background-color: color-mix(in srgb, var(--overlay1), transparent 90%);
}

