@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css");
@import url("https://cdn.jsdelivr.net/npm/flag-icons@7.5.0/css/flag-icons.min.css");

:root {
    --code-bg-color: rgb(85, 85, 85, 0.25);
    --heading-border-color: #8A5CF5;
    --comment-color: #808080;
    --body-bg-color: #1E1E1E;
    --link-color: #A587EE;
    --text-color: #DADADA;
    --font-size: 1.1rem;
}

@media (max-width: 1024px) {
    :root {
        --font-size: 1.4rem;
    }
}

@media (max-width: 420px) {
    :root {
        --font-size: 1rem;
    }
}

* {
    padding: 0;
    margin: 0;
    border: 0;
}

.link-icon {
    border-bottom: var(--link-color) 1px solid;
    font-size: calc(var(--font-size) + 5px);
    color: var(--link-color);
}

.fork-icon {
    transform: rotate(180deg);
    display: inline-block;
    color: #828282;
}

.flex-between {
    justify-content: space-between;
    align-items: center;
    display: flex;
}

body {
    background-color: var(--body-bg-color);
    line-height: calc(var(--font-size) * 2.4);
    font-family: "Helvetica", sans-serif;
    font-size: var(--font-size);
    color: var(--text-color);
    max-width: 1000px;
    padding: 35px;
    margin: auto;
}

body[data-theme=dark] {
    --body-bg-color: #1E1E1E;
    --text-color: #DADADA;
}

body[data-theme=light] {
    --body-bg-color: #DADADA;
    --comment-color: #313131;
    --text-color: #1E1E1E;
    --link-color: #64B;
}

a[target="_blank"]::after {
    font-size: calc(var(--font-size) - 7px);
    font-family: "bootstrap-icons";
    color: var(--comment-color);
    content: " \F1C5"; /* box-arrow-up-right icon */
}

ul {
    margin-left: 15px;
}

ol {
    margin-left: 20px;
}

h2 {
    border-left: var(--heading-border-color) 5px solid;
    padding-left: 10px;
}

hr {
    border: 1.5px solid #444;
}

a {
    color: var(--link-color);
}

button {
    background: none;
}

button:hover {
    cursor: pointer;
}

blockquote {
    border-left: var(--heading-border-color) 5px solid;
    padding-left: 20px;
}

blockquote[data-type] {
    background-color: rgba(var(--color), 0.1);
    border-color: rgba(var(--color), 0.25);
    padding: 10px 20px 20px 20px;
    --color: 100, 100, 100;
}

blockquote[data-type=info] {
    --icon: 'info-circle';
    --color: 2, 122, 255;
}

blockquote[data-type=example] {
    --icon: 'list';
    --color: 168, 130, 255;
}

pre {
    background-color: var(--code-bg-color);
    line-height: calc(var(--font-size) * 1.5);
    white-space: pre;
    overflow: scroll;
    padding: 15px;
}

code:not(pre code) {
    background-color: var(--code-bg-color);
    padding: 2px 5px;
}

h2 sup {
    font-size: calc(var(--font-size) - 4px);
    text-wrap: nowrap;
}

h1, h2, h3, h4, h5, h6, blockquote, hr, pre {
    margin: 20px 0px;
}

blockquote[data-type], code:not(pre code), pre {
    border-radius: 4px;
}
