:root {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    --link-color: #e030a0f0;
}

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    box-sizing: border-box;
    font-size: 100%;
}

body {
    font-family: sans-serif;
    line-height: 1.725em;
    padding-inline: 2em;
    padding-block: 30px;
}

header, main, footer {
    max-width: 72ch;
}

pre {
    line-height: 1.2rem;
}

header {
    display: flex;
    flex-direction: column;

    nav {
	margin-inline: auto;
	display: flex;
	width: 100%;
	font-family: monospace;
	font-size: 1rem;
	gap: 1em;
	a::before {
		content: '['
	}
    	a::after{
		content: ']'
	}
}
}

h1 {
    font-family: monospace;
    font-size: 1.728rem;
    text-align: center;
}

h2 {
    font-size: 1.44rem;
    font-family: monospace;
}

h2::before {
/*    content: '‣ ';*/
    content: '※ ';
}

h3 {
    font-family: monospace;
    font-size: 1.2rem;
    font-weight: bold;
}

h4 {
    font-size: 1rem;
}

.infin {
    font-size: 72px;
    text-align: center;
}

a:link, a:visited {
    color: light-dark(#202020, #ffffffd0);
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
    text-decoration-color: var(--link-color);
    text-decoration-style: dotted;
}

a:hover {
    color: var(--link-color);
}

figure {
    margin: 0;
    text-align: center;
}

figure img {
    max-width: 100%;
}

figcaption {
    font-style: italic;
}

.logo {
    font-size: 144px;
    text-align: center;
    line-height: 1.725em;
}

.muon {
    font-size: 72px;
    line-height: 1em;
    background-color: light-dark(#202020, #f0f0f0);
    margin-inline: auto;
    margin-top: 0;
    margin-bottom: 2rem;
    padding: 20px;
    border-radius: 50%;

    a:link, a:visited {
	color: light-dark(#f0f0f0, #202020);
	text-decoration: none;
    }
}

table {
    width: 100%;
}

table, th, td {
    border: 1px solid;
}

th, td {
    padding-inline: 1em;
}

