body {
    margin: 0;
    background: #fdf;
    color: #102;
    background-image: repeating-linear-gradient(to right, transparent 0px, transparent 9px, #ece 9px, #ece 10px, #fdf 10px),
                      repeating-linear-gradient(to bottom, #fdf 0px, #fdf 9px, #ece 9px, #ece 10px, #ece 10px);
    background-repeat: repeat;
    font-family: FantasqueSansMono;
}
.suffix {
    opacity: 0.2;
}
header {
    background: #102;
    color: #fdf;
    padding: 1em 0.5em 0.25em 0.5em;
    display: flex;
    flex-direction: horizontal;
    align-items: baseline;
}
header > *:not(h1) {
    background: #fdf;
    color: #102;
    text-decoration: none;
    padding: 0 0.5em;
    font-size: 1.125em;
    border-radius: 0.25em;
}
header h1 {
    margin: 0;
    flex-grow: 1;
}
header h1 a:only-child {
    display: block;
}
section header {
    margin-left: -0.5em;
    width: 100%;
    padding-top: 0.5em;
}
section {
    margin: 1em;
    background: #dcf;
    padding-bottom: 0.1em;
    padding: 0 0.5em 0 0.5em;
    max-width: 50em;
    border-radius: 0.5em 0.5em 0 0;
    overflow: hidden;
    border: 1px solid #102;
    box-shadow: 0 0 1em rgba(100, 0, 100, 0.4);
}
section section {
    background: #edf;
}
a, header > a {
    color: #a08;
    transition: background 0.1s, color 0.1s;
    border-radius: 0.1em;
}
a:hover, a:focus {
    background: #eac;
    color: #102;
}
h1 a {
    text-decoration: underline;
    color: #f8c;
}
