/* The one stylesheet of a site sitegen writes, light and dark: barge's
   view host's look, without its script. */
:root { --bg: #f3f6f7; --card: #fff; --text: #222; --muted: #666; --link: #006ed3; --line: #e1e6e8; --code: #f2f4f5; --tile: #e8edef; --hl: #fff8c5; --changed: #9a6700; }
@media (prefers-color-scheme: dark) {
	:root { --bg: #1a1f26; --card: #101720; --text: #ddd; --muted: #999; --link: #8cc4ff; --line: #26323f; --code: #18212c; --tile: #18212c; --hl: #3b3417; --changed: #d29922; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.6 Inter, system-ui, sans-serif; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
header { display: flex; flex-wrap: wrap; gap: .5em 1.5em; align-items: baseline; padding: 15px 5%; background: var(--card); box-shadow: 0 0 20px rgb(0 0 0 / 10%); }
nav { font-size: 20px; min-width: 0; overflow-wrap: anywhere; }
nav a { color: inherit; }
nav .sep { color: var(--muted); margin: 0 .3em; }
header .figures { font-size: 14px; color: var(--muted); }
header .links { margin-left: auto; font-size: 14px; }
main { max-width: 1200px; margin: 2em auto; padding: 0 5%; }
section, article { background: var(--card); border-radius: 5px; box-shadow: 0 2px 5px 1px rgb(0 0 0 / 5%); margin-bottom: 1.5em; }
article { padding: 1.5em 2em; }
.list { list-style: none; margin: 0; padding: 0; }
.list li { display: flex; gap: 1em; align-items: baseline; padding: .55em 1.2em; border-bottom: 1px solid var(--line); }
.list li:last-child { border-bottom: none; }
.list .name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.list .size, .list .raw { font-size: 14px; color: var(--muted); white-space: nowrap; }
.empty { margin: 0; padding: 1.5em 2em; color: var(--muted); }
pre, code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; tab-size: 4; }
.code { padding: 1em 0; }
.code pre { margin: 0; overflow-x: auto; font-size: 14px; line-height: 1.5; }
.code .ln { display: inline-block; min-width: 3.5em; padding: 0 1em 0 .5em; text-align: right; color: var(--muted); user-select: none; }
.code .line:target, .code .line:has(:target) { background: var(--hl); }
.md > :first-child { margin-top: 0; }
.md h1, .md h2 { border-bottom: 1px solid var(--line); padding-bottom: .3em; }
.md img { max-width: 100%; }
.md code { background: var(--code); padding: .1em .35em; border-radius: 4px; font-size: .9em; }
.md pre { background: var(--code); padding: 1em; border-radius: 5px; overflow-x: auto; }
.md pre code { padding: 0; background: none; }
.md table { border-collapse: collapse; display: block; overflow-x: auto; }
.md th, .md td { border: 1px solid var(--line); padding: .35em .7em; }
.md blockquote { margin: 0 0 1em; padding: 0 1em; border-left: 4px solid var(--line); color: var(--muted); }
.md hr { border: none; border-top: 1px solid var(--line); }
@media (max-width: 600px) {
	main { padding: 0; margin-top: 1em; }
	section, article { border-radius: 0; }
	article { padding: 1em 16px; }
}
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px; padding: 6px; }
.gallery a { display: block; aspect-ratio: 1; background: var(--tile); border-radius: 3px; overflow: hidden; scroll-margin: 6em; }
.gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* A photo full size: its lightbox shows while the address names it. */
.lightbox { display: none; position: fixed; inset: 0; z-index: 10; background: rgb(0 0 0 / 92%); color: #eee; }
.lightbox:target { display: block; }
.lightbox img { position: absolute; inset: 3em 4em; width: calc(100% - 8em); height: calc(100% - 6em); object-fit: contain; }
.lightbox > a { position: absolute; display: flex; align-items: center; justify-content: center; width: 1.6em; height: 1.6em; border-radius: 50%; background: rgb(255 255 255 / 12%); color: #fff; font-size: 28px; line-height: 1; text-decoration: none; }
.lightbox > a:hover { background: rgb(255 255 255 / 25%); text-decoration: none; }
.lightbox .prev { left: .5em; top: 50%; transform: translateY(-50%); }
.lightbox .next { right: .5em; top: 50%; transform: translateY(-50%); }
.lightbox .close { right: .5em; top: .5em; }
.lightbox .bar { position: absolute; left: 0; right: 0; bottom: 0; display: flex; gap: 1em; justify-content: center; align-items: baseline; padding: .6em; font-size: 14px; }
.lightbox .bar a { color: #9cf; }
@media (max-width: 600px) {
	.gallery { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
	.lightbox img { inset: 3em 0; width: 100%; }
}
/* The link step's marks: a link to nothing in the tree, struck out; a pin
   to a file that changed since, still a link. */
.dead { text-decoration: line-through; color: var(--muted); }
a.changed { color: var(--changed); text-decoration: underline dotted; }
a.changed::after { content: " \26A0"; font-size: .85em; }

/* Code, by Chroma's classes: github, and github-dark when dark. */
@media (prefers-color-scheme: light) {
/* Background */ .bg { background-color: #f7f7f7; }
/* PreWrapper */ .chroma { background-color: #f7f7f7; -webkit-text-size-adjust: none; }
/* LineNumbers targeted by URL anchor */ .chroma .ln:target { background-color: #dedede }
/* LineNumbersTable targeted by URL anchor */ .chroma .lnt:target { background-color: #dedede }
/* Error */ .chroma .err { color: #f6f8fa; background-color: #82071e }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #dedede }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #cf222e }
/* KeywordConstant */ .chroma .kc { color: #cf222e }
/* KeywordDeclaration */ .chroma .kd { color: #cf222e }
/* KeywordNamespace */ .chroma .kn { color: #cf222e }
/* KeywordPseudo */ .chroma .kp { color: #cf222e }
/* KeywordReserved */ .chroma .kr { color: #cf222e }
/* KeywordType */ .chroma .kt { color: #cf222e }
/* NameAttribute */ .chroma .na { color: #1f2328 }
/* NameClass */ .chroma .nc { color: #1f2328 }
/* NameConstant */ .chroma .no { color: #0550ae }
/* NameDecorator */ .chroma .nd { color: #0550ae }
/* NameEntity */ .chroma .ni { color: #6639ba }
/* NameLabel */ .chroma .nl { color: #990000; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #24292e }
/* NameOther */ .chroma .nx { color: #1f2328 }
/* NameTag */ .chroma .nt { color: #0550ae }
/* NameBuiltin */ .chroma .nb { color: #6639ba }
/* NameBuiltinPseudo */ .chroma .bp { color: #6a737d }
/* NameVariable */ .chroma .nv { color: #953800 }
/* NameVariableClass */ .chroma .vc { color: #953800 }
/* NameVariableGlobal */ .chroma .vg { color: #953800 }
/* NameVariableInstance */ .chroma .vi { color: #953800 }
/* NameVariableMagic */ .chroma .vm { color: #953800 }
/* NameFunction */ .chroma .nf { color: #6639ba }
/* NameFunctionMagic */ .chroma .fm { color: #6639ba }
/* LiteralString */ .chroma .s { color: #0a3069 }
/* LiteralStringAffix */ .chroma .sa { color: #0a3069 }
/* LiteralStringBacktick */ .chroma .sb { color: #0a3069 }
/* LiteralStringChar */ .chroma .sc { color: #0a3069 }
/* LiteralStringDelimiter */ .chroma .dl { color: #0a3069 }
/* LiteralStringDoc */ .chroma .sd { color: #0a3069 }
/* LiteralStringDouble */ .chroma .s2 { color: #0a3069 }
/* LiteralStringEscape */ .chroma .se { color: #0a3069 }
/* LiteralStringHeredoc */ .chroma .sh { color: #0a3069 }
/* LiteralStringInterpol */ .chroma .si { color: #0a3069 }
/* LiteralStringOther */ .chroma .sx { color: #0a3069 }
/* LiteralStringRegex */ .chroma .sr { color: #0a3069 }
/* LiteralStringSingle */ .chroma .s1 { color: #0a3069 }
/* LiteralStringSymbol */ .chroma .ss { color: #032f62 }
/* LiteralNumber */ .chroma .m { color: #0550ae }
/* LiteralNumberBin */ .chroma .mb { color: #0550ae }
/* LiteralNumberFloat */ .chroma .mf { color: #0550ae }
/* LiteralNumberHex */ .chroma .mh { color: #0550ae }
/* LiteralNumberInteger */ .chroma .mi { color: #0550ae }
/* LiteralNumberIntegerLong */ .chroma .il { color: #0550ae }
/* LiteralNumberOct */ .chroma .mo { color: #0550ae }
/* Operator */ .chroma .o { color: #0550ae }
/* OperatorWord */ .chroma .ow { color: #0550ae }
/* OperatorReserved */ .chroma .or { color: #0550ae }
/* Punctuation */ .chroma .p { color: #1f2328 }
/* Comment */ .chroma .c { color: #57606a }
/* CommentHashbang */ .chroma .ch { color: #57606a }
/* CommentMultiline */ .chroma .cm { color: #57606a }
/* CommentSingle */ .chroma .c1 { color: #57606a }
/* CommentSpecial */ .chroma .cs { color: #57606a }
/* CommentPreproc */ .chroma .cp { color: #57606a }
/* CommentPreprocFile */ .chroma .cpf { color: #57606a }
/* GenericDeleted */ .chroma .gd { color: #82071e; background-color: #ffebe9 }
/* GenericEmph */ .chroma .ge { color: #1f2328 }
/* GenericInserted */ .chroma .gi { color: #116329; background-color: #dafbe1 }
/* GenericOutput */ .chroma .go { color: #1f2328 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #ffffff }
}
@media (prefers-color-scheme: dark) {
/* Background */ .bg { color: #e6edf3; background-color: #0d1117; }
/* PreWrapper */ .chroma { color: #e6edf3; background-color: #0d1117; -webkit-text-size-adjust: none; }
/* LineNumbers targeted by URL anchor */ .chroma .ln:target { color: #e6edf3; background-color: #6e7681 }
/* LineNumbersTable targeted by URL anchor */ .chroma .lnt:target { color: #e6edf3; background-color: #6e7681 }
/* Error */ .chroma .err { color: #f85149 }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #6e7681 }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #737679 }
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #6e7681 }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #ff7b72 }
/* KeywordConstant */ .chroma .kc { color: #79c0ff }
/* KeywordDeclaration */ .chroma .kd { color: #ff7b72 }
/* KeywordNamespace */ .chroma .kn { color: #ff7b72 }
/* KeywordPseudo */ .chroma .kp { color: #79c0ff }
/* KeywordReserved */ .chroma .kr { color: #ff7b72 }
/* KeywordType */ .chroma .kt { color: #ff7b72 }
/* NameClass */ .chroma .nc { color: #f0883e; font-weight: bold }
/* NameConstant */ .chroma .no { color: #79c0ff; font-weight: bold }
/* NameDecorator */ .chroma .nd { color: #d2a8ff; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #ffa657 }
/* NameException */ .chroma .ne { color: #f0883e; font-weight: bold }
/* NameLabel */ .chroma .nl { color: #79c0ff; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #ff7b72 }
/* NameProperty */ .chroma .py { color: #79c0ff }
/* NameTag */ .chroma .nt { color: #7ee787 }
/* NameVariable */ .chroma .nv { color: #79c0ff }
/* NameVariableClass */ .chroma .vc { color: #79c0ff }
/* NameVariableGlobal */ .chroma .vg { color: #79c0ff }
/* NameVariableInstance */ .chroma .vi { color: #79c0ff }
/* NameVariableMagic */ .chroma .vm { color: #79c0ff }
/* NameFunction */ .chroma .nf { color: #d2a8ff; font-weight: bold }
/* NameFunctionMagic */ .chroma .fm { color: #d2a8ff; font-weight: bold }
/* Literal */ .chroma .l { color: #a5d6ff }
/* LiteralDate */ .chroma .ld { color: #79c0ff }
/* LiteralString */ .chroma .s { color: #a5d6ff }
/* LiteralStringAffix */ .chroma .sa { color: #79c0ff }
/* LiteralStringBacktick */ .chroma .sb { color: #a5d6ff }
/* LiteralStringChar */ .chroma .sc { color: #a5d6ff }
/* LiteralStringDelimiter */ .chroma .dl { color: #79c0ff }
/* LiteralStringDoc */ .chroma .sd { color: #a5d6ff }
/* LiteralStringDouble */ .chroma .s2 { color: #a5d6ff }
/* LiteralStringEscape */ .chroma .se { color: #79c0ff }
/* LiteralStringHeredoc */ .chroma .sh { color: #79c0ff }
/* LiteralStringInterpol */ .chroma .si { color: #a5d6ff }
/* LiteralStringOther */ .chroma .sx { color: #a5d6ff }
/* LiteralStringRegex */ .chroma .sr { color: #79c0ff }
/* LiteralStringSingle */ .chroma .s1 { color: #a5d6ff }
/* LiteralStringSymbol */ .chroma .ss { color: #a5d6ff }
/* LiteralNumber */ .chroma .m { color: #a5d6ff }
/* LiteralNumberBin */ .chroma .mb { color: #a5d6ff }
/* LiteralNumberFloat */ .chroma .mf { color: #a5d6ff }
/* LiteralNumberHex */ .chroma .mh { color: #a5d6ff }
/* LiteralNumberInteger */ .chroma .mi { color: #a5d6ff }
/* LiteralNumberIntegerLong */ .chroma .il { color: #a5d6ff }
/* LiteralNumberOct */ .chroma .mo { color: #a5d6ff }
/* Operator */ .chroma .o { color: #ff7b72; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #ff7b72; font-weight: bold }
/* OperatorReserved */ .chroma .or { color: #ff7b72; font-weight: bold }
/* Comment */ .chroma .c { color: #8b949e; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #8b949e; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #8b949e; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #8b949e; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #8b949e; font-weight: bold; font-style: italic }
/* GenericDeleted */ .chroma .gd { color: #ffa198; background-color: #490202 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #ffa198 }
/* GenericHeading */ .chroma .gh { color: #79c0ff; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #56d364; background-color: #0f5323 }
/* GenericOutput */ .chroma .go { color: #8b949e }
/* GenericPrompt */ .chroma .gp { color: #8b949e }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #79c0ff }
/* GenericTraceback */ .chroma .gt { color: #ff7b72 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #6e7681 }
}
.chroma, .bg { background: none; }
