/*
 * Nord theme for mdBook
 * Compatible with mdBook 0.5.x.
 * Light and dark variants of the Nord colour palette, toggled by
 * the system `prefers-color-scheme` media query (or by the mdBook
 * theme picker, which adds the `light` / `navy` / `coal` / `rust`
 * / `ayu` class to <html>).
 *
 * Nord colour values are from https://www.nordtheme.com (MIT).
 */

:root {
    --nord0:  #2E3440;
    --nord1:  #3B4252;
    --nord2:  #434C5E;
    --nord3:  #4C566A;
    --nord4:  #D8DEE9;
    --nord5:  #E5E9F0;
    --nord6:  #ECEFF4;
    --nord7:  #8FBCBB;
    --nord8:  #88C0D0;
    --nord9:  #81A1C1;
    --nord10: #5E81AC;
    --nord11: #BF616A;
    --nord12: #D08770;
    --nord13: #EBCB8B;
    --nord14: #A3BE8C;
    --nord15: #B48EAD;

    --guisu-accent: var(--nord10);

    /* Light variant (default). */
    --bg:                       var(--nord6);
    --fg:                       var(--nord0);
    --sidebar-bg:               var(--nord5);
    --sidebar-fg:               var(--nord0);
    --sidebar-active:           var(--nord10);
    --sidebar-spacer:           var(--nord4);
    --scrollbar:                var(--nord4);
    --icons:                    var(--nord0);
    --icons-hover:              var(--nord10);
    --links:                    var(--nord10);
    --inline-code-color:        var(--nord11);
    --theme-popup-bg:           var(--nord5);
    --theme-popup-border:       var(--nord3);
    --theme-hover:              var(--nord4);
    --quote-bg:                 var(--nord5);
    --quote-border:             var(--nord10);
    --table-border-color:       var(--nord4);
    --table-header-bg:          var(--nord5);
    --table-alternate-bg:       var(--nord6);
    --searchbar-border-color:   var(--nord3);
    --searchbar-bg:             var(--nord5);
    --searchbar-fg:             var(--nord0);
    --searchbar-shadow-color:   var(--nord4);
    --searchresults-header-fg:  var(--nord0);
    --searchresults-border-color: var(--nord4);
    --searchresults-li-bg:      var(--nord5);
    --search-mark-bg:           var(--nord13);
    --footnote-highlight:       var(--nord10);
    --overlay-bg:               rgba(229, 233, 240, 0.4);

    /* Admonition colours (mdBook 0.5 native). */
    --blockquote-note-color:      var(--nord9);
    --blockquote-tip-color:       var(--nord14);
    --blockquote-important-color: var(--nord15);
    --blockquote-warning-color:   var(--nord13);
    --blockquote-caution-color:   var(--nord11);
}

/* Dark variant: applied to the `dark` class mdbook adds to <html>
   when the user picks the Dark theme. */
.dark {
    --bg:                       var(--nord0);
    --fg:                       var(--nord4);
    --sidebar-bg:               var(--nord1);
    --sidebar-fg:               var(--nord4);
    --sidebar-active:           var(--nord8);
    --sidebar-spacer:           var(--nord2);
    --scrollbar:                var(--nord2);
    --icons:                    var(--nord4);
    --icons-hover:              var(--nord8);
    --links:                    var(--nord8);
    --inline-code-color:        var(--nord13);
    --theme-popup-bg:           var(--nord1);
    --theme-popup-border:       var(--nord2);
    --theme-hover:              var(--nord2);
    --quote-bg:                 var(--nord1);
    --quote-border:             var(--nord8);
    --table-border-color:       var(--nord2);
    --table-header-bg:          var(--nord1);
    --table-alternate-bg:       var(--nord0);
    --searchbar-border-color:   var(--nord2);
    --searchbar-bg:             var(--nord1);
    --searchbar-fg:             var(--nord4);
    --searchbar-shadow-color:   var(--nord2);
    --searchresults-header-fg:  var(--nord6);
    --searchresults-border-color: var(--nord2);
    --searchresults-li-bg:      var(--nord1);
    --search-mark-bg:           var(--nord13);
    --footnote-highlight:       var(--nord8);
    --overlay-bg:               rgba(46, 52, 64, 0.4);
    --blockquote-tip-color:       var(--nord14);
    --blockquote-important-color: var(--nord15);

    --guisu-accent: var(--nord8);
}

/* Honour the user's OS preference when the page has not pinned a theme. */
@media (prefers-color-scheme: dark) {
    html:not(.light):not(.dark) {
        --bg:                       var(--nord0);
        --fg:                       var(--nord4);
        --sidebar-bg:               var(--nord1);
        --sidebar-fg:               var(--nord4);
        --sidebar-active:           var(--nord8);
        --sidebar-spacer:           var(--nord2);
        --scrollbar:                var(--nord2);
        --icons:                    var(--nord4);
        --icons-hover:              var(--nord8);
        --links:                    var(--nord8);
        --inline-code-color:        var(--nord13);
        --theme-popup-bg:           var(--nord1);
        --theme-popup-border:       var(--nord2);
        --theme-hover:              var(--nord2);
        --quote-bg:                 var(--nord1);
        --quote-border:             var(--nord8);
        --table-border-color:       var(--nord2);
        --table-header-bg:          var(--nord1);
        --table-alternate-bg:       var(--nord0);
        --searchbar-border-color:   var(--nord2);
        --searchbar-bg:             var(--nord1);
        --searchbar-fg:             var(--nord4);
        --searchbar-shadow-color:   var(--nord2);
        --searchresults-header-fg:  var(--nord6);
        --searchresults-border-color: var(--nord2);
        --searchresults-li-bg:      var(--nord1);
        --search-mark-bg:           var(--nord13);
        --footnote-highlight:       var(--nord8);
        --overlay-bg:               rgba(46, 52, 64, 0.4);
        --blockquote-tip-color:       var(--nord14);
        --blockquote-important-color: var(--nord15);

        --guisu-accent: var(--nord8);
    }
}

.menu-title {
    color: var(--guisu-accent);
    font-weight: 600;
}

a:visited {
    color: var(--links);
}

a:hover {
    color: var(--nord7);
}

:not(pre) > code {
    background: var(--quote-bg);
    color: var(--inline-code-color);
    padding: 0.1em 0.3em;
    border-radius: 3px;
}
