/* Global customization */

:root {
    --code-max-height: 60rem;
}

/* Light mode theming */
:root,
:root[color-mode="light"] {
    --header-background: #4ec58a;
    --header-font-color: #ffffff;

    --body-background: #ffffff;
    --body-font-color: #343a40;

    --button-background: #62cb97;
    --button-border-color: #4ec58a;

    --link-color: #518169;
    --link-color-visited: #c54e8a;

    --code-background: #f5f6f8;
    --code-accent-color: #e3e7eb;
    --code-accent-color-lite: #eff1f3;

    --code-copy-font-color: #6b7784;
    --code-copy-border-color: #adb4bc;
    --code-copy-success-color: #00c853;

    --accent-color: #e9ecef;
    --accent-color-lite: #f8f9fa;

    --control-icons: #b2bac1;

    --footer-background: #2f333e;
    --footer-font-color: #ffffff;
    --footer-link-color: #ffcc5c;
    --footer-link-color-visited: #ffcc5c;
}

@media (prefers-color-scheme: light) {
    :root {
        --header-background: #4ec58a;
        --header-font-color: #ffffff;

        --body-background: #ffffff;
        --body-font-color: #343a40;

        --button-background: #62cb97;
        --button-border-color: #4ec58a;

        --link-color: #518169;
        --link-color-visited: #c54e8a;

        --code-background: #f5f6f8;
        --code-accent-color: #e3e7eb;
        --code-accent-color-lite: #eff1f3;

        --code-copy-font-color: #6b7784;
        --code-copy-border-color: #adb4bc;
        --code-copy-success-color: #00c853;

        --accent-color: #e9ecef;
        --accent-color-lite: #f8f9fa;

        --control-icons: #b2bac1;

        --footer-background: #2f333e;
        --footer-font-color: #ffffff;
        --footer-link-color: #ffcc5c;
        --footer-link-color-visited: #ffcc5c;
    }

    .edgePaths path,
    .edgePath path {
        stroke: #000000 !important;
    }

    .marker {
        fill: #000000 !important;
    }
    
    rect.actor,
    .node rect,
    .node polygon {
        fill: var(--header-font-color) !important;
        stroke: #000000 !important;
    }
}

/* Dark mode theming */
:root[color-mode="dark"] {
    --header-background: rgb(23, 23, 23);
    --header-font-color: rgba(38, 136, 140);

    --body-background: rgb(23, 23, 23);
    --body-font-color: rgb(245, 245, 245);

    --button-background: #62cb97;
    --button-border-color: #4ec58a;

    --link-color: rgb(182, 240, 89);
    --link-color-visited: rgb(31, 205, 235);

    --code-background: #2f353a;
    --code-accent-color: #262b2f;
    --code-accent-color-lite: #2b3035;

    --code-copy-font-color: #adb4bc;
    --code-copy-border-color: #808c98;
    --code-copy-success-color: #00c853;

    --accent-color: #2b3035;
    --accent-color-lite: #2f353a;

    --control-icons: #b2bac1;

    --footer-background: #2f333e;
    --footer-font-color: #ffffff;
    --footer-link-color: rgb(213, 104, 231);
    --footer-link-color-visited: rgb(213, 104, 231);
}

@media (prefers-color-scheme: dark) {
    :root {
        --header-background: rgb(23, 23, 23);
        --header-font-color: rgba(38, 136, 140);

        --body-background: rgb(23, 23, 23);
        --body-font-color: rgb(245, 245, 245);

        --button-background: #62cb97;
        --button-border-color: #4ec58a;

        --link-color: rgb(182, 240, 89);
        --link-color-visited: rgb(31, 205, 235);

        --code-background: #2f353a;
        --code-accent-color: #262b2f;
        --code-accent-color-lite: #2b3035;

        --code-copy-font-color: #adb4bc;
        --code-copy-border-color: #808c98;
        --code-copy-success-color: #00c853;

        --accent-color: #2b3035;
        --accent-color-lite: #2f353a;

        --control-icons: #b2bac1;

        --footer-background: #2f333e;
        --footer-font-color: #ffffff;
        --footer-link-color: rgb(213, 104, 231);
        --footer-link-color-visited: rgb(213, 104, 231);
    }

    .edgePaths path,
    .edgePath path {
        stroke: var(--body-font-color) !important;
    }

    .marker {
        fill: var(--body-font-color) !important;
    }

    rect.actor,
    .node rect,
    .node polygon {
        fill: var(--header-font-color) !important;
        stroke: var((--body-font-color)) !important;
    }
}

:root .chroma .err {
    color: inherit !important;
    background-color: transparent !important;   
}

.gdoc-markdown h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0.5em;
}

.gdoc-markdown h3,
h4 {
    margin-top: 1.5em;
}

.gdoc-markdown h2 {
    margin-top: 2.0em;
}

.gdoc-markdown p {
    margin-block-start: 0px;
}

.gdoc-markdown h2 {
    font-size: 1.5rem;
}

.gdoc-markdown h3 {
    font-size: 1.25rem;
}

.gdoc-markdown h4 {
    font-size: 1.125rem;
}

.gdoc-markdown pre code {
    overflow-x: scroll;
}

.gdoc_heart {
    margin-left: 5px;
}

.gdoc-post__codecontainer {
    margin-bottom: 8px;
}

.tooltip {
    position: relative;
    display: inline-block;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 140px;
    background-color: var(--footer-background);
    color: var(--body-font-color);
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: 130%;
    left: 50%;
    margin-left: -70px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: var(--footer-background) transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}
