html { color-scheme: light dark; }
:root { --paper:#ffffff; --ink:#000000; --muted:#555555; --line:#999999; --accent:#cc0000; --link:#0000ee; --visited:#551a8b; --shade:#eeeeee; }
@media (prefers-color-scheme: dark) { :root { --paper:#000000; --ink:#e6e6e6; --muted:#a6a6a6; --line:#555555; --accent:#ff6666; --link:#7fa7ff; --visited:#c99bff; --shade:#1c1c1c; } }
* { box-sizing: border-box; }
body { margin:0 auto; max-width:64rem; background:var(--paper); color:var(--ink); font:16px/1.55 ui-serif, Georgia, Cambria, "Times New Roman", serif; }
a { color:var(--link); text-decoration-thickness:1px; text-underline-offset:3px; }
:where(a, input, select, button, summary):focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.skip-link { position:absolute; left:-10000px; top:.5rem; }
.skip-link:focus { left:.5rem; padding:.75rem; background:var(--paper); color:var(--ink); z-index:2; }
.mast { padding:1.75rem 18px 24px; border-bottom:2px solid var(--ink); }
.brand { display:flex; align-items:center; gap:14px; color:var(--ink); }
.brand .logo { flex:0 0 auto; width:clamp(2.75rem, 8vw, 5rem); height:clamp(2.75rem, 8vw, 5rem); display:block; }
.kicker { margin:0 0 12px; color:var(--muted); font:.875rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; text-transform:none; letter-spacing:0; }
a:visited { color:var(--visited); }
h1 { margin:0; color:var(--accent); font:700 clamp(2.75rem, 8vw, 5rem)/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:-.045em; }
.mast > p:not(.kicker) { max-width:620px; font-size:20px; }
@media (max-width:480px) { .brand { gap:10px; } }
[hidden] { display:none !important; }
#search { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }
#search label { align-self:center; color:var(--muted); }
input, select { border:1px solid var(--ink); background:var(--paper); color:var(--ink); padding:9px 10px; font:14px ui-monospace, SFMono-Regular, Menlo, monospace; border-radius:0; }
#search input, #search select { min-width:0; max-width:100%; min-height:44px; }
#search input { flex:1 1 18rem; }
#search select { flex:1 1 16rem; }
#search-help { flex-basis:100%; margin:0; color:var(--muted); font-size:.875rem; }
#filter-status { min-height:1.5rem; margin:10px 0 0; color:var(--muted); font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.875rem; }
.quick { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:14px; }
.quick a, .toc a { display:inline-flex; align-items:center; min-height:44px; gap:.5rem; }
.toc { display:flex; flex-wrap:wrap; gap:.25rem 1rem; padding:12px 18px; background:transparent; border-bottom:1px solid var(--line); }
.toc a { padding:.5rem 0; text-decoration:underline; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:13px; max-width:100%; overflow-wrap:anywhere; }
.toc span { color:var(--muted); }
main { padding:8px 18px 32px; }
.category { border-top:1px solid var(--line); padding:24px 0 10px; scroll-margin-top:1rem; }
.category:target { border-top-color:var(--ink); }
.category:first-of-type { border-top:0; }
#filter-status:empty { display:none; }
@media (max-width:480px) { .toc a { min-height:32px; } }
h2 { margin:0 0 4px; font:700 26px/1.1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:-.04em; }
.summary { margin:0 0 18px; color:var(--muted); max-width:720px; }
.repos { list-style:none; margin:0; padding:0; display:block; }
.repo { min-height:0; padding:1rem 0; border:0; border-bottom:1px solid var(--line); background:transparent; min-width:0; overflow-wrap:anywhere; }
.repo h3 { margin:0 0 .35rem; font:700 18px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap:anywhere; }
.repo h3 a { display:inline-block; padding-block:.65rem; }
.repo small { display:block; margin-top:2px; color:var(--muted); font-weight:400; font-size:13px; overflow-wrap:anywhere; }
.repo p { margin:8px 0; max-width:72ch; }
.meta { color:var(--muted); font:.875rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.topics { display:flex; flex-wrap:wrap; gap:5px; }
.topics span { border:0; padding:0; color:var(--muted); font:13px ui-monospace, SFMono-Regular, Menlo, monospace; }
.topics span + span::before { content:" / "; }
.topics:empty { display:none; }
.hidden { display:none !important; }
.pager { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:16px 18px 8px; border-top:1px solid var(--line); font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:13px; }
.pager[hidden] { display:none !important; }
.pager .pager-status { color:var(--muted); margin-right:auto; }
.pager a, .pager span.current, .pager span.ellipsis { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 10px; border:1px solid var(--line); background:var(--paper); color:var(--link); text-decoration:none; }
.pager span.current { border-color:var(--ink); color:var(--ink); font-weight:700; }
.pager span.ellipsis { border:0; color:var(--muted); min-width:auto; padding:0 4px; }
.pager a[aria-disabled="true"] { color:var(--muted); pointer-events:none; border-color:var(--shade); }
.pager a:visited { color:var(--link); }
footer { border-top:2px solid var(--ink); padding:18px; color:var(--muted); font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:12px; }
