/* src/css/styles.css */

/* Define custom colors */
:root {
    --background-color: #110b0b; /* Dark background color */
    --secondary-background-color: #281b1b; /* Lighter background color */
    --text-color: #b9b3b3; /* Light text color */
    --link-color: #0695c5; /* Bold blue link color */
    --accent-color: #fa462a; /* Bold red accent color */
    --header-color: #c27d03; /* Bold orange header color */
}

/* Light theme preference*/
/*@media (prefers-color-scheme: light) {*/
/*    :root {*/
        /*--background-color: #ffe2f6;*/
        /*--secondary-background-color: #f8c1f1;*/
        /*--text-color: #4f3c3c;*/
        /*--link-color: #af0064;*/
        /*--accent-color: #0a6e66;*/
        /*--header-color: #0044ab;*/
/*    }*/
/*}*/

html {
    scroll-behavior: smooth;
}

/* Body Styles */
body {
    font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, Andale Mono WT, Andale Mono, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Nimbus Mono L, Courier, monospace;
    margin: 0;
    padding: 0;
    background-color: var(--background-color);
    color: var(--text-color);
    font-size: 1.08em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8' fill='%23281b1b' fill-opacity='0.1' /%3E%3Ccircle cx='10' cy='7' r='3' fill='%23281b1b' /%3E%3Cline x1='10' y1='10' x2='10' y2='15' stroke='%23281b1b' stroke-width='2' /%3E%3C/svg%3E");
    filter: contrast(1.8);
}

/*@media (prefers-color-scheme: light) {*/
/*    body {*/
/*        color: var(--text-color);*/
/*        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8' fill='%23FFE2F6' fill-opacity='0.1' /%3E%3Ccircle cx='10' cy='7' r='3' fill='%23f8c1f1' /%3E%3Cline x1='10' y1='10' x2='10' y2='15' stroke='%23f8c1f1' stroke-width='2' /%3E%3C/svg%3E");*/
/*    }*/
/*}*/


/* List Styles */
ul {
    margin: 1em 0;
    padding: 0 0 0 1em;
}

ol {
    margin: 1em 0;
    padding: 0 0 0 1em;
}

li {
    margin: 0.5em 0;
}

/* Header Styles */

header {
    text-align: left;
    margin: 0 auto;
    font-size: 69%;
    padding-left: 1.5em;
}

h1, h2, h3, h4, h5, h6 {
    margin: 1em auto 0 auto;
}

h1 {
    font-size: 2.5em;
    color: var(--header-color);
}

h2 {
    font-size: 2em;
    color: var(--header-color);
}

h3 {
    font-size: 1.8em;
    color: var(--header-color);
}

h4 {
    font-size: 1.5em;
    color: var(--header-color);
}

h5 {
    font-size: 1.2em;
    color: var(--header-color);
}

h6 {
    font-size: 1em;
    color: var(--header-color);
}

/* Link Styles */
a {
    color: var(--link-color);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Accent Styles */
.subheadline {
    color: var(--accent-color);
    font-weight: bold;
    margin-top: 0;
}

.headline {
    margin-top: 0.5em;
    margin-bottom: 0.2em;
}

.headline::before {
    content: "~.";
    color: var(--accent-color);
}

.headline a:hover {
    text-decoration: underline wavy;
}

main {
    max-width: 100vw;
    margin: 1em auto;
    padding: 1em;
    box-shadow: 0 0 3px var(--text-color);
    background-color: var(--background-color);
    color: var(--text-color);
}

.max-width-container {
    max-width: 40ch;
}

/* Add footer styles */
footer {
    background-color: var(--secondary-background-color); /* Link color in the footer */
    color: var(--text-color); /* Text color in the footer */
    text-align: center;
    margin-top: 2em;
    padding: 0.1em 0;
    width: 100%;
    font-size: 95%;
}

/* Style links in the footer */
footer a {
    text-decoration: none;
    color: var(--text-color);
}

footer a:hover {
    text-decoration: underline;
}

/* Style other body elements */

/* Styles for the table element */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
    background-color: var(--background-color);
}

table, th, td {
    border: 1px solid var(--text-color);
}

th, td {
    padding: 0.7em;
    text-align: left;
}

th {
    background-color: var(--background-color);
    color: var(--header-color);
    font-size: 105%;
}

/* Reset paragraph styles */
p {
    margin: 1em 0;
    line-height: 1.45em;
}

/* Styles for the blockquote element */
blockquote {
    border-left: 4px solid var(--accent-color);
    margin: 1.25em 0;
    padding: 1px 1em;
}

blockquote p {
    margin: 3px 0;
}

/* Styles for the custom footnote element */
.footnote-item {
    font-size: 80%;
    color: var(--text-color);
}

.footnote-item::before {
    content: "Note: ";
    font-weight: bold;
    font-variant: all-small-caps;
    color: var(--accent-color);
}

.footnote-item p {
    margin-top: 0.2em;
}

/* Code block styles */
pre {
    background-color: var(--secondary-background-color);
    border: 1px solid var(--text-color);
    border-radius: 5px;
    padding: 10px;
    margin: 0.75em 0;
    overflow-x: auto;
    line-height: 1.4;
    white-space: pre-wrap;
}

pre code {
    display: block;
    padding: 6px;
    color: var(--text-color);
    background-color: var(--secondary-background-color);
    border-radius: 5px;
}

code {
    padding: 5px;
    line-height: 1.3em;
    color: var(--text-color);
    background-color: var(--secondary-background-color);
    border-radius: 5px;
    display: inline-block;
}

nav {
    padding: 1em 1em 0 1em;
}

nav ul li {
    display: inline; /* Display list items horizontally */
    margin-right: 0.5em; /* Add spacing between list items */
    line-height: 1.5em;
}

nav ul {
    padding: 0;
    margin: 0;
}

.post-content {
    border-bottom: 1px solid var(--secondary-background-color);
}

.post-title {
    margin: 0.75em 0;
    line-height: 1.35em;
}

.post-content__title {
    margin-top: 0.45em;
}

.post-description {
    color: var(--accent-color);
    margin-top: 0.25em;
    margin-bottom: 0.5em;
}

main article ul li a, main article ol li a {
    font-size: 1.1em;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1em auto;
    border: 1px var(--text-color) solid;
}

.ascii-garden {
    white-space: pre;
    font-family: monospace;
}

/* Styles for the markdown footnotes */
.footnotes-list > li {
    font-size: 0.85em;
}

.footnotes-list {
    margin-left: 1.5em;
}

.top-link {
    font-size: 2em;
    color: var(--header-color);
    background-color: var(--secondary-background-color);
    box-shadow: 0 0 3px var(--text-color);
    padding: 0.25em;
    border-radius: 5em;
    text-decoration: none;
    position: fixed;
    bottom: 0.5em;
    right: 0.65em;
}

/* Media Queries */

@media (min-width: 768px) {
    body {
        max-width: 800px;
        margin: 0 auto;
        font-size: 1.2em;
    }

    nav {
        padding: 1em 0 0 0;
    }

    header {
        padding-left: 0;
        font-size: 81%;
    }
}
