@keyframes shake-angry {
0% { transform: translate(0, 0) rotate(0deg); }
25% { transform: translate(5px, 6px) rotate(5deg); }
50% { transform: translate(1px, 0) rotate(0eg); }
75% { transform: translate(-6px, 5px) rotate(-5deg); }
100% { transform: translate(0, 0) rotate(0deg); }
}

/* Base layout */ body {
    margin: 0; padding: 0;
    background: #ffffff; color: #333333; font-family:
					     "JetBrains Mono", "Fira Code", "Courier New", monospace;
    font-size: 18px; line-height: 1.7;
    display: flex;
    justify-content: center;
}

/* Centered container */
main {
    max-width: 700px;
    width: 100%;
    padding: 3rem 1.5rem;
}

h1 {
    color: #1e3a8a;
}

h2, h3 {
    color: #2f6f9f;
}

/* Headings */
h1, h2, h3 {
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.5rem;
}

h1, h2 {
    text-align: center;
}

h3 {
    display: inline-block;
    margin: 0;
}

/* Paragraph spacing */
p {
    margin: 1rem 0;
}

/* Horizontal rule */
hr {
    border: none;
    height: 3px;
    background: #1e3a8a;
    border-radius: 999px;
    margin: 2.5rem 0;
}

/* Links */
a {
    color: #1e3a8a;
    text-decoration: none;
    border-bottom: 1px solid #1e3a8a;
    transition: all 0.15s ease;
}

a:hover {
    color: #ffffff;
    background: #1e3a8a;
    border-bottom: 1px solid #1e3a8a;
}

::selection {
    background: #1e3a8a;
    color: #ffffff;
}

/* --- */
.string {
    color: #007e11;
}

/* EMIL CSS additions: mostly AI genned */

audio::-webkit-media-controls-play-button {
    background-color: #4CAF50; /* This was just randomly picked by computer god */
    margin-radius: 50%; /* not from computer god, but looks nice on Chrome */
}

audio::-webkit-media-controls-enclosure {
    border-radius: 0;
    background-color: #f1f3f4;
}

/* Style the progress bar */
audio::-webkit-media-controls-timeline {
    color: #FF5722;
}

audio {
    height: 24px;
}

table {
    margin-left: auto; margin-right: auto;
    border: 2px solid #333;
    border-collapse: collapse;
}

th, td {
    border: 1px solid #999;
    padding: 8px;
}

table tr:first-child td {
    text-align: center;
    border-bottom: 3px solid #333;
}

center.red {
    color: red;
}

h1 {
    color: #1e3a8a;
    animation: shake-angry 1s step-start infinite;
}

div.science {
    height: 300px;
}

.subbox {
    background-color: #fdffff;
    width: 25em;
    padding: 1em;
    border: 0.2em solid #1e3a8a;
    border-style: double;
    margin: 0em auto;
}

#back {
font-size: 8px;
padding: 0px;
margin: 0px;
}
