@font-face { font-family: "Fira mono"; src: url(../fonts/fira-mono/FiraMono-Regular.ttf) format(truetype); font-weight: 400; font-style: normal; } @font-face { font-family: "Fira mono"; src: url(../fonts/fira-mono/FiraMono-Medium.ttf) format(truetype); font-weight: 500; font-style: normal; } @font-face { font-family: "Fira mono"; src: url(../fonts/fira-mono/FiraMono-Regular.ttf) format(truetype); font-weight: 600; font-style: bold; } :root { --line-height: 16pt; --font-size: 11pt; } html, body { font-family: "Fira mono"; font-size: var(--font-size); line-height: var(--line-height); } body { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; height: 100vh; box-sizing: border-box; } h1, h2 { display: block; letter-spacing: 0.25em; font-weight: 500; } h1 { margin-bottom: var(--line-height); } h2 { letter-spacing: .05em; text-decoration: underline; cursor: pointer; } p { max-width: 80ch; margin-bottom: var(--line-height); } main { grid-column: 1; padding: var(--line-height) calc(3 * var(--line-height)) var(--line-height) var(--line-height); overflow-y: auto; } aside { grid-column: 2; border-left: 1px solid black; overflow-y: auto; } summary { padding: calc(.5 * var(--line-height)) 0; list-style: none; border: none; outline: none; } .read-online-link { margin-left: calc(-1 * var(--line-height)); margin-right: calc(-1 * var(--line-height)); border-top: 1px solid black; border-bottom: 1px solid black; letter-spacing: .2em; padding: calc(.5 * var(--line-height)) var(--line-height); } details > summary::-webkit-details-marker { display: none; } details { border-bottom: 1px solid black; padding: calc(.5 * var(--line-height)) var(--line-height); } details + details { margin-top: -1px; } a { color: currentColor; } a:hover { text-decoration: none; } dl { margin: var(--line-height) 0; display: grid; grid-template-columns: 15ch 1fr; max-width: 80ch; font-size: 85%; }