:root {
    --light-warm-gray: #C2B3A9;
    --dark-warm-gray: #A59990;
    --teal: #5B90A4;
    --light-blue: #8C97A8;
    --dark-blue: #696F80;
    --true-gray: #999999;
    --highlight-green: green;
    --highlight-red: red;
    --transparent: #FFFFFFBB;

    box-sizing: border-box;
    font-size: calc(10px + 1vmin);
    cursor: url('/cursors/arrow.cur'), auto;
}

*, ::before, ::after { box-sizing: inherit; }

@font-face {
    font-family: 'w95fa';
    src: url('/fonts/w95fa.woff2') format('woff2');
}

@font-face {
    font-family: 'vt323';
    src: url('/fonts/vt323.woff2') format('woff2');
}

body {
    background-color: black;
    background-image: url('/images/background_stars_anm.gif');
    width: 95vmin;
    margin: 0 auto;
    font-family: 'w95fa', sans-serif;
    /* Always show scroll bar otherwise content shifts about */
    overflow-y: scroll;
}

code {
    background-color: black;
    color: lime;
    font-family: 'vt323', monospace;
}

pre > code {
    white-space: pre-wrap;
    padding: 0.5em 1em;
    display: inline-block;
    width: 100%;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

a:hover, button, input[type='checkbox'], summary {
    cursor: url('/cursors/finger.cur'), auto;
}

blockquote {
    border-left: solid black;
    padding-left: 0.25em;
    margin: 1em 0.25em;
}

p, h1, h2, h3, h4, h5, h6, label, code, ul, ol { cursor: text; }

ol, ul { padding-left: 1.25em; }

img {
    cursor: url('/cursors/arrow.cur'), auto;
    max-width: 100%;
}

table { width: 100%; }

table, th, td {
    border-collapse: collapse;
    text-align: center;
}

summary { margin: 1em 0; }