/* -*- css-indent-offset: 2; -*- */
:root {
    --light: #FAFAFA;
    --lighter: #CCC;
    --darker: #111;
    --dark: #222;
    --dark-accent: #444;
    --dark-lighter: #888;
    --link: #07A;
    --link-visited-light-theme: #941352;
    --link-visited-dark-theme: #9f4f76;
    
    color-scheme: light dark;
}
  
html {
    height: 100%;
}

body {
    min-height: 100%;
    display: grid;
    grid-template-rows: 1fr auto;
    margin: 0 auto;
    max-width: 672px;
    line-height: 1.6;
    font-size: 18px;
    color: var(--dark);
    background-color: var(--light);
    padding: 0 10px;
    font-family: 'Open Sans', sans-serif;
}

@media screen and (min-width: 680px) {
    main {
        margin: 40px 0;
    }
}

h1, h2 {
    line-height: 1.2;
}

footer {
    grid-row-start: 2;
    grid-row-end: 3;
    color: var(--dark-lighter);
    font-size: 14px; /* Adjusted for better readability */
    text-align: center; /* Centering footer content */
    padding: 20px 0; /* Adding some padding */
}

a {
    color: var(--link);
}
a:visited {
    color: var(--link-visited-light-theme);
}
footer > a {
    color: var(--dark-lighter) !important;
}

blockquote {
    background: var(--light);
    border-left: 10px solid var(--dark-lighter);
    margin: 1.5em 10px;
    padding: 0.5em 10px;
    font-family: monospace;
}
blockquote p {
    display: inline;
}

@media screen and (prefers-color-scheme: dark) {
    body {
        color: var(--light);
        background: var(--dark);
    }

    footer {
        color: var(--lighter);
    }

    blockquote {
        background: var(--darker);
        border-left-color: var(--dark-accent);
    }

    a:visited {
        color: var(--link-visited-dark-theme);
    }
}

/* Additional styling for responsiveness and aesthetic enhancement */
@media screen and (min-width: 400px) {
    blockquote {
        display: table;
    }
    blockquote > * {
        display: table-cell;
    }
    blockquote > .name {
        padding-right: 8px;
    }
}
