:root { color-scheme: light dark; scrollbar-color: var(--border-color) var(--body-background); --body-background: light-dark( oklch(95% 0.01 250), oklch(20% 0.01 250) ); --text-color: light-dark( oklch(5% 0.01 250), oklch(90% 0.01 250) ); --border-color: light-dark( oklch(80% 0.01 250), oklch(40% 0.01 250) ); --shade-background: light-dark( oklch(90% 0.01 250), oklch(30% 0.01 250) ); --link-color: light-dark( oklch(50% 0.15 250), oklch(60% 0.15 250) ); --pl-c: light-dark(#6e7781, #8b949e); --pl-c1: light-dark(#0550ae, #79c0ff); --pl-e: light-dark(#6639ba, #d2a8ff); --pl-en: light-dark(#0550ae, #d2a8ff); --pl-k: light-dark(#cf222e, #ff7b72); --pl-s: light-dark(#0a3069, #a5d6ff); --pl-v: light-dark(#953800, #ffa657); } body { margin: 1rem; font-family: Helvetica, Arial, sans-serif; background: var(--body-background); color: var(--text-color); } a { text-decoration: none; color: var(--link-color); } h1, h2, h3, h4, h5, h6, p, pre, ul, ol { margin: .5em 0; } input, select, button { background-color: var(--body-background); color: var(--text-color); border: 1px solid var(--border-color); } table { width: 100%; border-collapse: collapse; } tr { border: 1px solid var(--border-color); } td { padding: .25rem; vertical-align: top; &:first-child { padding-left: .5rem; } &:last-child { padding-right: .5rem; } } nav { display: flex; margin: .5em 0; > a { display: block; padding-right: .5rem; + a { padding-left: .5rem; border-left: 1px solid var(--border-color); } &:last-child { padding-right: 0; } } } section { margin: 1rem 0; } .box { --box-padding: .5rem; margin: 1rem 0; border: 1px solid var(--border-color); padding: var(--box-padding); > *:first-child { margin-top: 0; } > *:last-child { margin-bottom: 0; } > header:first-child { margin: calc(-1 * var(--box-padding)); margin-bottom: 0; padding: .5rem; border-bottom: 1px solid var(--border-color); } > footer:last-child { margin: 0 calc(-1 * var(--box-padding)); padding: .5rem; border-top: 1px solid var(--border-color); } } body > footer { margin-top: 1rem; text-align: center; } .icon { height: 1lh; vertical-align: text-bottom; } @media (prefers-color-scheme: dark) { .icon { filter: brightness(0) invert(1); } } .repo { font-size: 120%; font-weight: bold; } .avatar { float: right; clip-path: circle(); } .branch { display: inline-block; margin-right: 1rem; padding: .2rem; border: 1px solid var(--border-color); } .ref-selector-button { anchor-name: --ref-selector-anchor; } .ref-selector-menu { position: absolute; position-anchor: --ref-selector-anchor; position-area: bottom span-right; width: 16rem; max-height: 20rem; overflow-y: auto; overflow-wrap: break-word; background: var(--body-background); border: 1px solid var(--border-color); padding: 0.5rem; &::backdrop { background: transparent; } } .ref-selector-tabs { display: flex; margin-bottom: 0.5rem; button { flex: 1; padding: 0.25rem; cursor: pointer; &.active { font-weight: bold; border-bottom: 2px solid var(--link-color); } } } .ref-selector-items { list-style: none; margin: 0; padding: 0; li { padding: 0.2rem 0; } } .ref-selector-badge { margin-left: 0.3rem; font-size: 0.75rem; opacity: 0.7; } .ref-selector-empty, .ref-selector-more { padding: 0.2rem 0; font-size: 0.85rem; } .placeholder { opacity: 0.7; } .languages { .language-bar { display: flex; height: .5rem; border-radius: .25rem; overflow: hidden; span { /* Keep slivers of tiny languages visible. */ min-width: 1px; } } .language-list { display: flex; flex-wrap: wrap; gap: .2rem 1rem; list-style: none; margin: .5rem 0 0; padding: 0; font-size: 0.85rem; } .language-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; } .language-percentage { opacity: 0.7; } } .repo-info { .description { margin-bottom: .2rem; } .detail { white-space: nowrap; } div.detail { overflow-x: hidden; text-overflow: ellipsis; } span.detail + span.detail { margin-left: 1rem; } } object.pdf { display: block; width: 100%; height: 80vh; padding: 0; } pre.box { /* Instead of scrolling overflow for long lines, grow the box. */ width: fit-content; span:target { background: var(--shade-background); } } .overview, .release, .wiki { overflow-wrap: break-word; /* This is a bit convoluted: we want the effect of padding but using margins * vertically so we get margin collapsing. */ --box-padding: 1rem; padding-top: 0; padding-bottom: 0; > header:first-child { margin-top: 0; } > :first-child, > header:first-child + * { margin-top: 1rem; } > :last-child { margin-bottom: 1rem; } a { text-decoration: underline; } h1, h2 { border-bottom: 1px solid var(--border-color); } img, video { max-width: 100%; } code, pre { background: var(--shade-background); } pre { overflow-x: auto; scrollbar-color: var(--border-color) var(--shade-background); } } .overview > header { font-weight: bold; } .release > header, .wiki > header { display: flex; align-items: baseline; > :first-child { flex-grow: 1; font-weight: bold; } } .wiki > footer { /* The wiki's _Footer page is rendered content, not a caption for the page. */ font-size: .9rem; } .wiki-pages { summary { cursor: pointer; } ul { columns: 16rem; list-style: none; padding: 0; } } .timestamp { white-space: nowrap; font-size: .8rem; } .commit { display: flex; justify-content: space-between; padding: 0.5rem; border: 1px solid var(--border-color); + .commit { border-top: none; } } .commit-author { font-size: 0.8rem; margin-top: 0.2rem; } .commit-sha { align-self: center; font-size: 0.8rem; } /* TODO Strip permalinks? */ svg.octicon-link { display: none; } .pl-c { color: var(--pl-c); } .pl-c1 { color: var(--pl-c1); } .pl-e { color: var(--pl-e); } .pl-en { color: var(--pl-en); } .pl-k { color: var(--pl-k); } .pl-s { color: var(--pl-s); } .pl-v { color: var(--pl-v); } .pl-ent { color: var(--pl-k); } .pl-mh { font-weight: bold; color: var(--pl-en); } .pl-bu { color: var(--pl-k); } .pl-ii { color: var(--text-color); background-color: var(--pl-k); } .pl-pds { color: var(--pl-s); } .pl-smi { color: var(--text-color); }