:root { font-family: sans-serif; line-height: 1.7; color-scheme: dark; --color-border: #aaa; --color-bg: #333; --color-bg2: #222; --color-bg3: #111; --color-fg: #fff; } h1, h2, h3, h4, h5, h6 { line-height: 1.2; } img { display: block; max-inline-size: 100%; block-size: auto; } blockquote { margin-inline: 0; padding: 1em; box-shadow: 0.2em 0.2em 1em rgba(0,0,0,0.3); background: var(--color-fg); color: var(--color-bg2); } blockquote > :first-child { margin-block-start: 0; } blockquote > :last-child { margin-block-end: 0; } ul, ol { padding-inline-start: 1.5em; } table { inline-size: 100%; border-collapse: collapse; } td, th { padding: 0.4em; border: 1px solid var(--color-border); font-weight: normal; text-align: start; line-height: 1.4; } .table-wrapper { white-space: nowrap; padding: 0; overflow: auto; } label { display: block; margin-block-end: 1em; } form { margin-block: 3rem; } fieldset { border: 0; padding: 0; margin: 0; margin-block: 1rem; } input, textarea, select, button { border: 1px solid var(--color-border); padding-block: 0.3em; padding-inline: 0.75em; font-family: inherit; font-size: inherit; line-height: 1.8; background: var(--color-bg2); color: var(--color-fg); display: block; } button { cursor: pointer; } .form-check { display: flex; gap: 0.2em; margin: 0; line-height: 1.2; padding-block: 0.3em; align-items: center; } .form-check input { display: inline-block; inline-size: 1.2em; block-size: 1.2em; flex-shrink: 0; } ol.alpha { list-style: upper-latin; } body { background-color: var(--color-bg); color: var(--color-fg); padding: 0; margin: 0; min-block-size: 100vb; display: grid; grid-template-rows: min-content 1fr min-content; } a { color: inherit; } .container { max-inline-size: 50rem; padding-inline: 1rem; margin-inline: auto; } header, footer { background-color: var(--color-bg2); padding-block: 1rem; } main { padding-block: 1rem 3rem; } footer { font-size: 90%; } header .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; column-gap: 2em; row-gap: 0.5em; } .brand { font-size: 150%; line-height: 1; text-decoration: none; } nav { display: flex; flex-wrap: wrap; flex-direction: row; column-gap: 1.2em; } nav a { font-weight: bold; text-decoration: none; } .banner { margin: 0; } .banner img { inline-size: 100%; block-size: 20em; max-block-size: 33vb; object-fit: cover; } figure { position: relative; } figcaption { position: absolute; inset-inline-end: 0; inset-block-end: 0; padding-inline: 0.5em; padding-block: 0.1em; font-size: 90%; background-color: #333a; color: var(--color-fg); } .paths { display: grid; grid-template-columns: repeat(auto-fill, minmax(20em, 1fr)); gap: 1em; margin-block: 2em; padding: 0; list-style: none; } .paths a { display: block; background-color: var(--color-bg2); padding-inline: 1em; padding-block: 0.5em; text-decoration: none; } .paths a:hover { background-color: var(--color-bg3); } .pdf { inline-size: 100%; block-size: 80vb; margin-block-end: 1em; border: 0; } .form-if-correct, .form-if-previous-correct, .form-if-incorrect { display: none; } .form-correct .form-if-correct, .form-incorrect .form-if-incorrect, .form-correct ~ .form-if-previous-correct { display: block; } .form-if-incorrect { color: #f99; } .w-100 { inline-size: 100%; }