html {
	overflow-y: scroll
}

:root {
    --bg_0: #ffffff;
    --bg_1: #ebebeb;
    --bg_2: #cdcdcd;
    --dim_0: #878787;
    --fg_0: #474747;
    --fg_1: #282828;
    
    --red: #d6000c;
    --green: #1d9700;
    --yellow: #c49700;
    --blue: #0064e4;
    --magenta: #dd0f9d;
    --cyan: #00ad9c;
    --orange: #d04a00;
    --violet: #7f51d6;
    
    --br_red: #bf0000;
    --br_green: #008400;
    --br_yellow: #af8500;
    --br_blue: #0054cf;
    --br_magenta: #c7008b;
    --br_cyan: #009a8a;
    --br_orange: #ba3700;
    --br_violet: #6b40c3;
}

body {
	max-width: 800px;
	margin: 40px auto;
	padding: 0 10px;
	font: 18px/1.5 monospace;
	color: var(--fg_0);
	background: var(--bg_0)
}

a:link {
	color: var(--blue)
}

a:hover {
	color: var(--cyan)
}

a:visited,
a:active {
	color: var(--violet)
}

h1 {
    font-size: 32px;
}

h2 {
    margin-top: 40px;
    font-size: 28px;
}

h3 {
    margin-top: 24px;
    font-size: 20px;
}

h4 {
    font-size: 18px;
    font-style: italic;
    color: var(--dim_0);
}

h5 {
    font-size: 16px;
    font-style: italic;
    color: var(--dim_0);
}

h6 {
    font-size: 14px;
    font-style: italic;
    color: var(--dim_0);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.2
}

p>code {
	color: var(--fg_0);
	background: var(--bg_1);
	padding: 2px
}

code {
	color: var(--fg_0);
	background: var(--bg_1);
	padding: 2px
}

pre {
	color: var(--fg_0);
	background: var(--bg_1);
	padding: 24px;
	overflow-x: auto
}

.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
    text-align: center;
}

figcaption {
	color: var(--dim_0);
	font: 12px/1.5 monospace;
	text-align: center;
}

figure {
	margin: auto
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: auto;
    border: 1px solid var(--fg_0);
}

header hr,
footer hr {
    border-style: dotted none none;
    border-width: 4px;
    border-color: var(--bg_2);
}

main hr {
    border-style: solid none none;
    border-width: 2px;
    border-color: var(--bg_2);
    width: 60%;
}

nav {
    font: 18px/1.5 monospace;
}

blockquote {
    border-left: 10px solid var(--bg_2);
    padding-left: 10px;
}

blockquote:has(blockquote) {
    border-left: none;
    margin-right: 0px;
}

a.internal {
    color: var(--fg_0);
    font-weight: bold;
}

a.internal:hover {
    text-decoration: none;
}

a.home-link {
    font-size: 36px;
    font-weight: bold;
    text-decoration: none;
    color: var(--fg_0);
}

.summary {
    border: 1px solid var(--fg_0);
    padding: 10px;
    max-width: 235px;
    min-width: 235px;
}

.summary-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 10px 0px;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    text-align: center;
}

.pagination-item {
    flex: 1;
    min-width: max-content;
    box-sizing: border-box;
}

.pagination-item a,
.pagination-item p {
    margin: 10px;
}

a.footnote-ref,
a.footnote-backref {
    text-decoration: none;
}

a.footnote-ref::before {
    content: '[';
}

a.footnote-ref::after {
    content: ']';
}

sup {
    line-height: 100%;
}

.anchor {
    visibility: hidden;
    text-decoration: none;
}

.anchor:hover,
*:hover > .anchor {
    visibility: visible;
}
