body{background:var(--paper);color:var(--ink)}
.repo-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.repo-hero{padding:150px 0 60px;background:var(--paper);border-bottom:1px solid #e2dace}
.repo-eyebrow{font:11px var(--mono,monospace);letter-spacing:.22em;color:var(--ink);text-transform:uppercase}
.repo-hero h1{font:400 clamp(44px,6vw,76px)/1.05 var(--serif,Georgia,serif);margin:20px 0}
.repo-hero p{max-width:650px;font-size:19px;line-height:1.6;color:var(--ink)}
.repo-hero label,.repo-broad label{display:block;margin:38px 0 10px;font-size:14px;font-weight:600}
.repo-hero input,.repo-broad input{box-sizing:border-box;width:min(100%,680px);padding:16px 18px;border:1px solid #c7bca9;background:white;border-radius:2px;font:16px var(--sans,Arial,sans-serif);color:var(--ink)}
.repo-hero input:focus,.repo-broad input:focus{outline:2px solid var(--ink);outline-offset:2px}
.repo-section{padding-block:65px}
.repo-section-head{display:flex;gap:16px;align-items:baseline;border-bottom:1px solid #c9bfae;margin-bottom:28px}
.repo-section h2{font:400 clamp(30px,4vw,44px)/1.15 var(--serif,Georgia,serif);margin:0 0 20px}
.repo-section-head span{font:13px var(--mono,monospace);color:var(--ink)}
.repo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.repo-card{min-width:0;background:#fff;border:1px solid #e5ded2;padding:28px;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start}
.repo-card[hidden]{display:none}
.repo-card h3{font:500 clamp(24px,2vw,29px)/1.2 var(--serif,Georgia,serif);margin:0 0 10px}
.repo-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.repo-tags span{display:inline-block;padding:5px 8px;background:var(--paper);border:1px solid var(--ink-hairline);color:var(--ink);font:600 13px/1.35 var(--sans,Arial,sans-serif)}
.repo-need{font-size:15px;line-height:1.5;margin:0 0 16px;color:var(--ink)}
.repo-need-full{display:none;font-size:15px;line-height:1.5;color:var(--ink);margin:0 0 18px}
.repo-js .repo-need{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.repo-js .repo-card.is-expanded .repo-need{display:none}
.repo-js .repo-card.is-expanded .repo-need-full{display:block}
.repo-js .repo-details{display:none}
.repo-js .repo-card.is-expanded .repo-details{display:block}
.repo-details{width:100%;order:2}
.repo-more{display:none;order:3;margin-top:auto;padding:8px 0;border:0;background:none;color:var(--ink);font:600 14px var(--sans,Arial,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.repo-match{order:-1;margin:0 0 12px;font:600 13px var(--sans,Arial,sans-serif);color:var(--ink)}
.repo-match[hidden]{display:none}
.repo-keyword[hidden]{display:none}
.repo-keyword{margin-top:18px;font-size:14px;line-height:1.5}
.repo-card mark{background:#f0db94;color:var(--ink);padding:0 1px}
.repo-js .repo-more{display:inline-block}
.repo-more:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.repo-card dl{margin:20px 0 0;display:grid;gap:13px}
.repo-card dl>div{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr);gap:12px;padding-top:12px;border-top:1px solid #eee9e1}
.repo-card dt{font-size:13px;color:var(--ink);font-weight:600}
.repo-card dd{margin:0;font-size:14px;line-height:1.5}
.repo-original{display:inline-block;margin-top:24px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.repo-broad{border-top:1px solid #c9bfae}
.repo-broad>p{max-width:620px;line-height:1.6}
.repo-broad-control{display:flex;gap:10px;flex-wrap:wrap}
.repo-broad-control input{max-width:560px;flex:1 1 300px}
.repo-broad button{padding:14px 22px;border:0;background:var(--ink);color:white;font:600 14px var(--sans,Arial,sans-serif);cursor:pointer}
.repo-broad-results{margin-block:24px}
.repo-unreviewed{display:block;margin-bottom:12px;color:var(--ink);font-size:13px;font-weight:600}
#repo-empty,#repo-broad-error{padding:24px;background:#fff;border:1px solid #e5ded2;line-height:1.6}
@media(max-width:700px){.repo-grid{grid-template-columns:1fr}.repo-hero{padding-top:100px}.repo-card dl>div{grid-template-columns:1fr;gap:4px}.repo-wrap{width:min(100% - 32px,1160px)}}
