
/* === Variable Definitions === */
:root {
    --GW-body-text-color: #111;
    --GW-body-background-color: #fff;
    --GW-H1-border-color: #ccc;
    --GW-H2-border-color: #ddd;
    --GW-body-link-color: #0066cc;
    --GW-body-link-hover-color: #004499;
    --GW-body-link-visited-color: #884499;
    --GW-sidenotes-max-width: 260px;
    --GW-image-single-black-star-svg: url('/assets/star-black.svg');

    --GW-serif-font-stack: "Lora", serif;
    --GW-monospaced-font-stack: "Literata", monospace;
}

/* === Font Embeds === */
@font-face {
    font-family: "Lora";
    src: url("/fonts/Lora/Lora-Regular.ttf") format("ttf");
    font-display: swap;
}
@font-face {
    font-family: "Literata";
    src: url("/fonts/Literata/Literata-Regular.ttf") format("ttf");
    font-display: swap;
}

/* === General Typography === */
body {
    font-family: var(--GW-serif-font-stack);
    background-color: var(--GW-body-background-color);
    color: var(--GW-body-text-color);
    font-size: 20px;
    line-height: 1.6;
    margin: 2rem auto;
    max-width: 700px;
    padding: 0 1rem;
}

/* === Headings === */
h1, h2 {
    font-family: var(--GW-serif-font-stack);
    border-bottom: 1px solid var(--GW-H1-border-color);
}
h1 {
    font-size: 2.5em;
    text-align: center;
}
h2 {
    font-size: 1.8em;
}

/* === Links === */
a {
    color: var(--GW-body-link-color);
    text-decoration: none;
}
a:hover {
    color: var(--GW-body-link-hover-color);
}
a:visited {
    color: var(--GW-body-link-visited-color);
}

/* === Sidebar === */
#sidebar {
    margin-bottom: 2rem;
}
details summary {
    font-weight: bold;
    cursor: pointer;
}

/* === Dark Mode Support === */
[data-theme="dark"] {
    --GW-body-background-color: #111;
    --GW-body-text-color: #eee;
    --GW-body-link-color: #5599ff;
    --GW-body-link-hover-color: #aaddff;
    --GW-body-link-visited-color: #bbaaff;
}
