/* GenOS: plain HTML, system fonts, and a few table-era bevels. */
html { background: #fff; color: #000; }
body { margin: 8px; font: 17px/1.5 "Times New Roman", Times, serif; }
a { color: #0000ee; text-decoration: underline; }
a:visited { color: #551a8b; }
a:active { color: #ee0000; background: #fff; }
a:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid #000080; outline-offset: 3px; }
.site { box-sizing: border-box; max-width: 980px; margin: 0 auto; border: 3px outset #c0c0c0; background: #fff; }
.banner { padding: 14px 10px; border-bottom: 2px outset #c0c0c0; background: #c0c0c0; text-align: center; }
.banner .ascii-logo { display: table; margin: 0 auto 8px; padding: 0; border: 0; background: transparent; color: #000080; font-size: 14px; line-height: 1.05; text-align: left; }
.project-name { font: bold 1.5rem/1.2 "Courier New", Courier, monospace; }
.banner p { margin: 6px auto 0; font-family: "Courier New", Courier, monospace; font-size: .875rem; }
.breadcrumb { margin: 0; padding: 8px 14px; border-bottom: 1px solid #808080; background: #eee; font-size: .875rem; }
hr { height: 0; margin: 16px 0; border: 1px inset #c0c0c0; }
.site-rule { margin: 6px; }
.layout { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; padding: 14px 18px 20px; }
.sidebar { align-self: start; padding: 10px; border: 2px outset #c0c0c0; background: #eee; font: .8125rem/1.5 Verdana, Arial, Helvetica, sans-serif; }
.sidebar h2 { margin: -4px -4px 8px; padding: 3px 5px; font-size: 1rem; }
.sidebar ul { margin: 0; padding: 0; list-style: none; }
.sidebar li { margin: 2px 0; }
.sidebar a { display: inline-block; padding: 4px 3px; }
.sidebar [aria-current="page"] { border-left: 3px solid #000080; padding-left: 6px; background: #fff; color: #000080; font-weight: bold; }
.sidebar p { margin: 12px 0 0; }
.sidebar-status strong { margin-right: .25em; }
main { min-width: 0; overflow-wrap: anywhere; }
h1, h2, h3 { font-family: "Times New Roman", Times, serif; font-weight: bold; }
h1 { margin: 0 0 16px; font-size: 1.75rem; line-height: 1.2; }
h2 { margin: 30px 0 12px; padding: 5px 8px; border: 2px outset #c0c0c0; background: #ccccff; font-size: 1.375rem; line-height: 1.3; }
h3 { margin: 24px 0 8px; font-size: 1.125rem; line-height: 1.35; }
p { max-width: 70ch; margin: 10px 0 16px; }
ul, ol { padding-left: 26px; }
ul { list-style-type: square; }
li { margin: 7px 0; }
.notice, .page-contents { padding: 12px; border: 2px inset #c0c0c0; background: #f4f4f4; }
.page-contents { margin: 18px 0 24px; }
.page-contents p { margin: 0 0 6px; }
.page-contents ul { margin: 0; }
.back-to-top { margin: 22px 0; font-size: .875rem; }
table { width: 100%; margin: 12px 0; border: 2px outset #808080; border-spacing: 2px; background: #c0c0c0; font-size: 1rem; }
caption { margin-bottom: 8px; text-align: left; font-weight: bold; }
th, td { padding: 9px 10px; border: 1px inset #808080; background: #fff; text-align: left; vertical-align: top; }
thead th { background: #ccccff; }
tbody th { background: #ddd; }
tbody tr:nth-child(even) td { background: #eee; }
tbody tr:nth-child(even) th { background: #c0c0c0; }
code, pre, kbd { font-family: "Courier New", Courier, monospace; }
code, kbd { font-size: .875em; }
pre { box-sizing: border-box; max-width: 100%; overflow-x: auto; padding: 12px; border: 2px inset #c0c0c0; background: #f4f4f4; font-size: .875rem; line-height: 1.5; overflow-wrap: normal; }
pre code { font-size: inherit; }
kbd { padding: 0 3px; border: 2px outset #c0c0c0; background: #eee; }
.news dt { margin-top: 22px; font-weight: bold; }
.news time { font-family: "Courier New", Courier, monospace; }
.news dd { margin: 6px 0 20px; }
progress { accent-color: #000080; max-width: 100%; }
.section-progress { width: 5rem; }
.table-scroll { max-width: 100%; overflow-x: auto; margin: 16px 0; }
.table-scroll table { margin: 0; }
.roadmap-table { min-width: 38rem; }
.roadmap-table .numeric-column, .roadmap-table .progress-column { white-space: nowrap; overflow-wrap: normal; }
.roadmap-table .numeric-column { min-width: 2.5em; }
.roadmap-table .progress-column { min-width: 14rem; }
.roadmap-table .progress-text { font-size: .8em; white-space: nowrap; }
.merge-marker { padding: 6px; border: 2px inset #c0c0c0; background: #eee; font-size: 1rem; }
.small, figcaption { color: #333; font: .8125rem/1.5 Verdana, Arial, Helvetica, sans-serif; }
.directory li { margin-bottom: 12px; }
.glossary dt { margin-top: 16px; font-weight: bold; }
.glossary dd { margin: 4px 0 16px 20px; max-width: 65ch; }
abbr[title] { text-decoration: underline dotted; cursor: help; }
figure { margin: 24px 0; }
figure img { display: block; max-width: 100%; height: auto; box-sizing: border-box; border: 2px inset #c0c0c0; background: #eee; }
figcaption { margin-top: 8px; max-width: 70ch; }
.section-icon { width: 24px; height: 24px; margin-right: 8px; vertical-align: -4px; image-rendering: pixelated; }
.mascot { float: right; width: 80px; height: 80px; margin: 0 0 12px 16px; image-rendering: pixelated; }
footer { padding: 8px 12px 14px; text-align: center; font: .8125rem/1.5 Verdana, Arial, Helvetica, sans-serif; }
footer address { margin: 10px 0 6px; font-style: normal; }
footer p { max-width: none; margin: 4px 0; }
.badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-bottom: 10px; }
.badge { box-sizing: border-box; display: inline-block; width: 88px; height: 31px; padding: 1px; border: 2px outset #c0c0c0; background: #c0c0c0; color: #000; text-align: center; font: 10px/12px "Courier New", Courier, monospace; }
.badge strong { font-size: 12px; }
.skip-link { position: absolute; z-index: 1; top: 4px; left: 8px; padding: 8px; border: 2px solid #000080; background: #fff; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 640px) {
  body { margin: 6px; font-size: 16px; }
  .layout { display: block; padding: 12px; }
  .sidebar { margin-bottom: 24px; }
  .sidebar nav ul { display: flex; flex-wrap: wrap; gap: 2px 14px; }
  .sidebar p { display: inline; margin-right: 10px; }
  .sidebar-status br { display: none; }
  .sidebar hr { margin: 8px 0; }
  .banner .ascii-logo { display: none; }
  .project-name { font-size: 2rem; }
  .banner p { font-size: .8125rem; }
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.25rem; }
  th, td { padding: 8px; min-width: 7rem; }
  .mascot { width: 64px; height: 64px; }
}
