/* GitHub catalogue only. All rules are scoped below its own container. */
#github-catalog{margin:0 0 30px;min-width:0}
#github-catalog .gh-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 0 8px}
#github-catalog .gh-heading h1{font:750 28px/1.2 var(--font-sans);letter-spacing:-.025em}
#github-catalog .gh-tabs{display:flex;align-self:center;gap:24px;white-space:nowrap;font-size:14px}
#github-catalog .gh-tabs a,#github-catalog .gh-tabs span{display:flex;align-items:center;gap:4px;min-height:40px;border-bottom:2px solid transparent}
#github-catalog .gh-tabs [aria-current]{border-color:var(--blue);color:var(--blue);font-weight:700}
#github-catalog .gh-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:46px;border-top:1px solid var(--line);align-items:start}
#github-catalog .gh-topic-sidebar{grid-column:2;grid-row:1;position:sticky;top:20px;min-width:0;padding:19px 0 0 24px;border-left:1px solid var(--line)}
#github-catalog .gh-topic-sidebar h2{font-size:16px;font-weight:700;line-height:1.4;margin-bottom:13px;letter-spacing:-.01em}
#github-catalog .gh-menu{display:flex;flex-direction:column;gap:2px}
#github-catalog .gh-category{display:flex;align-items:center;gap:11px;width:100%;min-height:38px;padding:8px 9px;border:0;border-radius:3px;background:none;text-align:left;font-size:13px;line-height:1.4;color:#394858}
#github-catalog .gh-category:hover{background:var(--soft)}
#github-catalog .gh-category[aria-pressed=true]{background:#edf1ff;color:var(--blue);font-weight:700}
#github-catalog .gh-category svg{width:19px;height:19px;stroke-width:1.6}
#github-catalog .gh-category-count{margin-left:auto;padding-left:5px;font:11px/1.4 var(--font-mono);color:var(--muted)}
#github-catalog .gh-category[aria-pressed=true] .gh-category-count{color:var(--blue)}
#github-catalog .gh-category-short{display:none}
#github-catalog .gh-category:focus-visible{outline-offset:-2px}
#github-catalog .gh-list{grid-column:1;grid-row:1;min-width:0}
#github-catalog .gh-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:19px 0 13px;font-size:12px;color:var(--muted)}
#github-catalog .gh-list-head>div:first-child{display:flex;align-items:baseline;gap:14px;min-width:0}
#github-catalog .gh-list-head h2{font-size:16px;font-weight:650;line-height:1.4;color:var(--ink);letter-spacing:0}
#github-catalog .gh-list-head output{font:12px/1.4 var(--font-mono);white-space:nowrap}
#github-catalog .gh-list-head>span{white-space:nowrap}
#github-catalog .gh-row{border-top:1px solid var(--line)}
#github-catalog .gh-summary{position:relative;min-height:108px;padding:16px 45px 16px 14px}
#github-catalog .gh-summary:hover{background:#f5f7fa}
#github-catalog .gh-summary:has([aria-expanded=true]){background:#f0f3ff}
#github-catalog .gh-summary h3{font-size:21px;line-height:1.25;font-weight:700;letter-spacing:-.02em}
#github-catalog .gh-pick{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;border:0;padding:0;background:none;text-align:left;font:inherit;letter-spacing:inherit}
#github-catalog .gh-pick::after{content:'';position:absolute;inset:0}
#github-catalog .gh-project-category{font-size:12px;font-weight:500;line-height:1.4;letter-spacing:0;color:var(--muted)}
#github-catalog .gh-summary>p{font-size:15px;line-height:1.45;margin-top:6px;max-width:70ch;color:#394858}
#github-catalog .gh-format{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
#github-catalog .gh-arrow{position:absolute;right:18px;top:23px;width:18px;height:18px;stroke:var(--muted);stroke-width:1.6}
#github-catalog .gh-pick[aria-expanded=true]{color:var(--blue)}
#github-catalog .gh-pick[aria-expanded=true] .gh-arrow{transform:rotate(180deg);stroke:var(--blue)}
#github-catalog .gh-expanded{padding:0 18px 18px;background:#f7f8fc;border-top:1px solid #e0e5eb}
#github-catalog .gh-detail{padding-top:15px}
#github-catalog .gh-detail-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
#github-catalog .gh-detail-top code{font:12px/1.5 var(--font-mono);color:var(--muted);overflow-wrap:anywhere;min-width:0}
#github-catalog .gh-detail-top .bookmark{margin:-5px 0}
#github-catalog .gh-detail p{max-width:70ch;font-size:14px;line-height:1.6;color:#394858}
#github-catalog .gh-story p{font-size:15px;line-height:1.65;margin-top:14px;color:var(--ink)}
#github-catalog .gh-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
#github-catalog .gh-primary,#github-catalog .gh-secondary{display:inline-flex;align-items:center;gap:14px;min-height:44px;border-radius:4px;padding:10px 15px;font-size:13px;font-weight:650}
#github-catalog .gh-primary{border:1px solid var(--blue);background:var(--blue);color:white}
#github-catalog .gh-primary:hover{background:#1736df;color:white}
#github-catalog .gh-secondary{border:1px solid #bbc5ce;background:white;color:var(--ink)}
#github-catalog .gh-detail h4{font-size:14px;line-height:1.4;font-weight:700;margin:18px 0 7px}
#github-catalog .gh-close{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;padding:8px 0;border:0;background:none;color:var(--blue);font-size:12px}
#github-catalog .gh-empty{padding:30px 14px;border-top:1px solid var(--line)}
#github-catalog .gh-empty h3{font-size:21px;font-weight:700}
#github-catalog .gh-empty p{font-size:15px;margin:10px 0 16px;color:var(--muted)}
#github-catalog .gh-query{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:8px 0 14px;font-size:13px;overflow-wrap:anywhere}
#github-catalog .gh-query button{min-height:36px;border:0;background:none;padding:4px 0;color:var(--blue);font-size:13px}
#github-catalog .gh-weekly-nav{min-height:44px;padding:8px 0;border:0;background:none;color:var(--blue);font-size:14px;font-weight:600}
#github-catalog .gh-weekly-nav:hover{text-decoration:underline;text-underline-offset:5px}
#github-catalog .gh-weekly-lead{padding:22px 0 26px;border-bottom:1px solid var(--line)}
#github-catalog .gh-weekly-preview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"title picture" "date picture" "summary picture" "read picture";column-gap:24px;align-items:start}
#github-catalog .gh-weekly-title{grid-area:title;min-width:0;font-size:26px;line-height:1.22;font-weight:750;letter-spacing:-.025em;text-wrap:pretty}
#github-catalog .gh-weekly-date{grid-area:date;font:11px/1.5 var(--font-mono);color:var(--muted);margin-top:10px}
#github-catalog .gh-weekly-summary{grid-area:summary;font-size:15px;line-height:1.5;color:#394858;margin-top:10px}
#github-catalog .gh-weekly-read{grid-area:read;justify-self:start;display:inline-flex;align-items:center;gap:14px;min-height:44px;border:0;background:none;padding:8px 0;color:var(--blue);font-size:14px;font-weight:650;margin-top:10px}
#github-catalog .gh-weekly-picture{grid-area:picture;align-self:center;aspect-ratio:16/9;overflow:hidden;background:var(--soft)}
#github-catalog .gh-weekly-picture img{width:100%;height:100%;object-fit:cover}
#github-catalog .gh-weekly-body{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;overflow-wrap:anywhere}
#github-catalog .gh-weekly-body p,#github-catalog .gh-weekly-body li{font-size:16px;line-height:1.7;max-width:72ch}
#github-catalog .gh-weekly-body p{margin:14px 0}
#github-catalog .gh-weekly-body h3{font-size:22px;line-height:1.3;font-weight:700;margin:28px 0 12px;text-wrap:pretty}
#github-catalog .gh-weekly-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
#github-catalog .gh-weekly-body figure{margin:22px 0}
#github-catalog .gh-weekly-body figure img{width:100%;height:auto;max-height:440px;object-fit:contain;background:var(--soft)}
#github-catalog .gh-weekly-body figcaption{font-size:12px;line-height:1.5;margin-top:7px;color:var(--muted)}
#github-catalog .gh-review-table{max-width:100%;overflow-x:auto;margin:16px 0;overscroll-behavior-x:contain}
#github-catalog .gh-review-table table{width:100%;min-width:620px;border-collapse:collapse;font-size:13px;line-height:1.5}
#github-catalog .gh-review-table th,#github-catalog .gh-review-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
#github-catalog .gh-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
#github-catalog .gh-row{border:1px solid var(--line);min-width:0}
#github-catalog .gh-summary{padding:0 0 16px;min-height:0}
#github-catalog .gh-card-picture{aspect-ratio:2/1;background:#f6f8fa;overflow:hidden;border-bottom:1px solid var(--line)}
#github-catalog .gh-card-picture img{width:100%;height:100%;object-fit:contain}
#github-catalog .gh-summary h3{margin:16px 38px 0 16px;font-size:20px}
#github-catalog .gh-summary>p{margin:9px 16px 0;font-size:14px;line-height:1.55}
#github-catalog .gh-summary>.gh-format{margin:12px 16px 0}
#github-catalog .gh-project-category{font-size:11px}
#github-catalog .gh-arrow{top:auto;bottom:17px;right:15px}
#github-catalog .gh-expanded{padding:0 16px 16px}
#github-catalog .gh-empty{grid-column:1/-1}
@media(max-width:1100px){
 #github-catalog .gh-layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px}
 #github-catalog .gh-topic-sidebar{padding-left:17px}
 #github-catalog .gh-category{font-size:12px;gap:9px}
 #github-catalog .gh-weekly-preview{gap:0;grid-template-columns:1fr;grid-template-areas:"title" "date" "picture" "summary" "read"}
 #github-catalog .gh-weekly-picture{max-height:240px}
 #github-catalog .gh-projects{gap:18px}
}
@media(max-width:800px){
 #github-catalog .gh-heading{flex-direction:column;align-items:start;gap:8px;padding:2px 0 7px}
 #github-catalog .gh-heading h1{font-size:27px}
 #github-catalog .gh-tabs{align-self:stretch;gap:24px;margin-top:6px;font-size:13px}
 #github-catalog .gh-tabs a,#github-catalog .gh-tabs span{min-height:36px}
 #github-catalog .gh-layout{display:flex;flex-direction:column;gap:0}
 #github-catalog .gh-topic-sidebar{position:static;order:0;width:100%;border-left:0;padding:10px 0 0}
 #github-catalog .gh-topic-sidebar h2{font-size:12px;font-weight:500;margin-bottom:3px;color:var(--muted)}
 #github-catalog .gh-menu{flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;gap:2px;padding:3px 0 9px;border-bottom:1px solid var(--line)}
 #github-catalog .gh-category{flex:0 0 83px;width:83px;min-height:67px;flex-direction:column;justify-content:center;gap:5px;padding:7px 3px;border-radius:0;border-bottom:2px solid transparent;text-align:center;white-space:nowrap}
 #github-catalog .gh-category[aria-pressed=true]{border-bottom-color:var(--blue);background:#f0f3ff}
 #github-catalog .gh-category svg{width:22px;height:22px}
 #github-catalog .gh-category-full,#github-catalog .gh-category-count{display:none}
 #github-catalog .gh-category-short{display:block;font-size:11px}
 #github-catalog .gh-list{order:1;width:100%;min-width:0}
 #github-catalog .gh-list-head{padding:14px 0 10px;min-height:48px;gap:8px}
 #github-catalog .gh-list-head>div:first-child{gap:8px;flex-wrap:wrap}
 #github-catalog .gh-list-head h2{font-size:14px;max-width:220px}
 #github-catalog .gh-list-head output{font-size:11px}
 #github-catalog .gh-summary{min-height:110px;padding:15px 32px 15px 10px}
 #github-catalog .gh-summary h3{font-size:20px}
 #github-catalog .gh-project-category{font-size:11px}
 #github-catalog .gh-summary>p{font-size:14px;line-height:1.5}
 #github-catalog .gh-format{font-size:12px}
 #github-catalog .gh-arrow{right:8px;top:21px;width:17px;height:17px}
 #github-catalog .gh-expanded{padding:0 12px 16px}
 #github-catalog .gh-detail-top code{font-size:11px}
 #github-catalog .gh-detail .gh-use{font-size:14px}
 #github-catalog .gh-projects{grid-template-columns:1fr;gap:20px}
 #github-catalog .gh-summary{padding:0 0 16px;min-height:0}
 #github-catalog .gh-summary h3{font-size:20px;margin:15px 38px 0 14px}
 #github-catalog .gh-summary>p{margin:8px 14px 0}
 #github-catalog .gh-summary>.gh-format{margin:12px 14px 0}
 #github-catalog .gh-arrow{top:auto;bottom:17px;right:14px}
 #github-catalog .gh-project-category{font-size:11px}
 #github-catalog .gh-weekly-lead{padding:16px 0 20px}
 #github-catalog .gh-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px}
 #github-catalog .gh-heading>div{display:contents}
 #github-catalog .gh-heading h1{grid-column:1;grid-row:1}
 #github-catalog .gh-tabs{grid-column:2;grid-row:1;align-self:center;margin:0}
 #github-catalog .gh-weekly-nav{font-size:12px}
 #github-catalog .gh-weekly-preview{grid-template-columns:minmax(0,1fr) 120px;grid-template-areas:"title title" "date date" "summary picture" "read read";column-gap:14px}
 #github-catalog .gh-weekly-title{font-size:23px;line-height:1.25}
 #github-catalog .gh-weekly-summary{font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 #github-catalog .gh-weekly-picture{align-self:start;max-height:210px;margin-top:10px}
 #github-catalog .gh-weekly-body p,#github-catalog .gh-weekly-body li{font-size:15px;line-height:1.65}
 #github-catalog .gh-weekly-body h3{font-size:20px}
}

#github-catalog .gh-topic-sidebar{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior-y:contain}
#github-catalog .gh-project-name{overflow-wrap:anywhere}
#github-catalog .gh-format{padding-right:22px}
#github-catalog .gh-alternatives{margin-top:36px;border-top:1px solid var(--line);padding-top:20px}
#github-catalog .gh-alternatives>h2{font-size:18px;line-height:1.4;font-weight:700}
#github-catalog .gh-alternatives>h2 span{font:12px var(--font-mono);color:var(--muted);margin-left:8px}
#github-catalog .gh-alternatives>p{font-size:14px;line-height:1.5;color:var(--muted);margin:6px 0 18px}
#github-catalog .gh-sources{padding-left:18px;list-style:disc;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#github-catalog .gh-sources a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){
 #github-catalog .gh-topic-sidebar{max-height:none;overflow-y:visible}
 #github-catalog .gh-alternatives{margin-top:28px}
}

/* Pinned introduction: a compact doorway into the long-form draft. */
#github-catalog .gh-intro{border-bottom:1px solid var(--line);padding:18px 0 16px}
#github-catalog .gh-intro-preview{display:grid;grid-template-columns:114px minmax(0,1fr);align-items:center;gap:20px}
#github-catalog .gh-intro-picture{aspect-ratio:7/5;overflow:hidden;background:var(--soft)}
#github-catalog .gh-intro-picture img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
#github-catalog .gh-intro-copy{min-width:0}
#github-catalog .gh-intro-copy h2{font-size:21px;line-height:1.25;font-weight:750;letter-spacing:-.015em}
#github-catalog .gh-intro-title{border:0;padding:0;background:none;text-align:left;font:inherit;letter-spacing:inherit;color:var(--ink)}
#github-catalog .gh-intro-title:hover{color:var(--blue)}
#github-catalog .gh-intro-copy>p{font-size:14px;line-height:1.5;color:var(--muted);margin-top:4px}
#github-catalog .gh-intro-read,#github-catalog .gh-intro-close{display:inline-flex;align-items:center;gap:10px;border:0;background:none;padding:7px 0;min-height:44px;color:var(--blue);font-size:13px;font-weight:650}
#github-catalog .gh-intro-read svg{width:17px;height:17px;stroke-width:1.6}
#github-catalog .gh-intro-time{font-size:12px;color:var(--muted);margin-left:18px;white-space:nowrap}
#github-catalog .gh-intro-body{padding-top:22px;max-width:76ch;margin:auto;overflow-wrap:anywhere}
#github-catalog .gh-intro-body h3{font-size:30px;line-height:1.2;letter-spacing:-.025em;font-weight:750;text-wrap:pretty;margin:5px 0 20px}
#github-catalog .gh-intro-body h3:focus{outline:none}
#github-catalog .gh-intro-body h4{font-size:23px;line-height:1.3;font-weight:700;letter-spacing:-.015em;margin:32px 0 12px;text-wrap:pretty}
#github-catalog .gh-intro-body p{font-size:16px;line-height:1.75;margin:14px 0;max-width:72ch;color:var(--ink)}
#github-catalog .gh-intro-body .gh-intro-definition{font-size:17px;line-height:1.6;color:#394858;margin:0 0 22px}
#github-catalog .gh-intro-body figure{margin:24px 0}
#github-catalog .gh-intro-body figure img{width:100%;height:auto}
#github-catalog .gh-intro-body .gh-intro-cover img{max-height:370px;object-fit:cover}
#github-catalog .gh-intro-body figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px}
#github-catalog .gh-intro-close{margin-top:12px;min-height:44px}
@media(max-width:800px){
 #github-catalog .gh-intro{padding:14px 0 12px}
 #github-catalog .gh-intro-preview{grid-template-columns:80px minmax(0,1fr);gap:14px}
 #github-catalog .gh-intro-picture{aspect-ratio:1;align-self:start;margin-top:3px}
 #github-catalog .gh-intro-copy h2{font-size:20px;line-height:1.25}
 #github-catalog .gh-intro-copy>p{font-size:13px;line-height:1.45}
 #github-catalog .gh-intro-read{font-size:12px;min-height:44px;gap:7px}
 #github-catalog .gh-intro-time{display:none}
 #github-catalog .gh-intro-body{padding-top:18px}
 #github-catalog .gh-intro-body h3{font-size:25px;line-height:1.25;margin-bottom:16px}
 #github-catalog .gh-intro-body h4{font-size:21px;line-height:1.3}
 #github-catalog .gh-intro-body p{font-size:15px;line-height:1.7}
 #github-catalog .gh-intro-body .gh-intro-definition{font-size:16px;line-height:1.6}
 #github-catalog .gh-intro-body .gh-intro-cover img{max-height:none}
 #github-catalog .gh-intro-body figure{margin:20px 0}
}

#github-catalog .gh-order-tools{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
#github-catalog .gh-sort{display:flex;align-items:center;gap:2px}
#github-catalog .gh-sort button{border:0;border-bottom:2px solid transparent;background:none;padding:7px 10px;min-height:40px;font-size:12px;color:var(--muted);white-space:nowrap}
#github-catalog .gh-sort button:hover{background:var(--soft)}
#github-catalog .gh-sort button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}
#github-catalog .gh-sort-date{font-size:11px;line-height:1.4;color:var(--muted)}
#github-catalog .gh-format{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px}
#github-catalog .gh-kind{min-width:0}
#github-catalog .gh-stars{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;font:12px/1.4 var(--font-mono);color:#445369}
#github-catalog .gh-stars svg{width:14px;height:14px;stroke-width:1.5}
@media(max-width:800px){
 #github-catalog .gh-list-head{flex-wrap:wrap;align-items:center;row-gap:6px}
 #github-catalog .gh-sort button{min-height:44px;padding:7px 9px}
 #github-catalog .gh-order-tools{margin-left:auto}
}
