/* Repository-level Skill directory. Shared navigation is supplied by ui.css. */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{margin:0}
a{text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.fz-shell{width:100%;margin:0 auto}
.fz-skip{top:-60px;padding:8px 12px;background:#fff}
.fz-skip:focus{top:8px}
.fz-footer-inner,.fz-footer nav{display:flex;justify-content:space-between;flex-wrap:wrap}
.project-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-page .project-main{padding-top:40px;padding-bottom:64px}
.project-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}
.project-eyebrow{color:#8b8b93;font-size:10px;font-weight:600;letter-spacing:1.8px;margin-bottom:8px}
.project-directory-head h1{font-size:30px;line-height:1.35;letter-spacing:-.5px;font-weight:650}
.project-directory-intro{margin-top:10px;color:#777780;font-size:13px;line-height:1.8}
.project-search{width:310px;max-width:100%;flex:none;padding-bottom:2px}
.project-search-control{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 13px;background:#f8f8f9;border:1px solid #e8e8eb;border-radius:6px;color:#929299}
.project-search-control:focus-within{border-color:#777780;background:#fff}
.project-search input{min-width:0;width:100%;height:40px;border:0;outline:none;background:transparent;color:#222228;font-size:12px}
.project-search input::placeholder{color:#94949c}
.project-search input:focus-visible{outline:none}
.project-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.project-search button{flex:none;padding:3px 0;border:0;background:transparent;font-size:11px;color:#66666f}
.project-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 19px;border-bottom:1px solid #ebebee;scrollbar-width:thin}
.project-filter{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 12px;border:1px solid #e8e8eb;border-radius:5px;background:#fff;color:#66666f;font-size:12px;line-height:18px;white-space:nowrap;transition:background-color .15s,color .15s}
.project-filter:hover{color:#171719;border-color:#bcbcc4}
.project-filter.is-active{background:#202023;border-color:#202023;color:#fff}
.project-filter>span{font-size:10px;opacity:.7}
.project-results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 16px}
.project-results-heading h2{font-size:13px;font-weight:600}
.project-results-heading>span{font-size:11px;color:#8a8a92}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}
.project-card{min-width:0;border:1px solid #e7e7eb;border-radius:7px;background:#fff;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.project-card:hover{border-color:#b9b9c1;box-shadow:0 4px 14px rgba(23,23,25,.045)}
.project-card-link{display:flex;flex-direction:column;height:100%;color:inherit}
.project-card-link:focus-visible{outline-offset:-3px}
.project-card-media{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;width:100%;overflow:hidden;background:#f5f5f7;border-bottom:1px solid #eeeef0}
.project-card-media img{width:100%;height:100%;object-fit:cover}
.project-no-preview{padding:20px;text-align:center;color:#9a9aa2;font-size:12px}
.project-card-content{display:flex;flex-direction:column;flex:1;padding:16px 15px 13px;min-width:0}
.project-card-tags,.project-detail-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.project-card-tags{min-height:20px;margin-bottom:10px}
.project-tag{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:3px;background:#f3f3f5;color:#777780;font-size:10px;line-height:16px;white-space:nowrap}
.project-tag-more{color:#9999a0}
.project-card-title{min-height:44px;font-size:15px;line-height:22px;font-weight:600;letter-spacing:-.15px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.project-card-summary{margin-top:8px;color:#818189;font-size:12px;line-height:20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:60px}
.project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:17px}
.project-card-repo{display:flex;align-items:center;gap:6px;min-width:0;color:#9b9ba3;font-size:10px;line-height:18px}
.project-card-repo svg{flex:none;width:13px;height:13px}
.project-card-repo>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.project-card-arrow{flex:none;color:#7b7b83;font-size:15px;line-height:18px}
.project-card-link:hover .project-card-title,.project-card-link:hover .project-card-arrow{color:#000}
.project-empty{padding:80px 24px;text-align:center;border:1px dashed #e5e5e9;border-radius:6px}
.project-empty h2{font-size:18px;font-weight:550;margin-bottom:10px}
.project-empty p{font-size:13px;color:#888890;line-height:1.8}
.project-text-button{padding:8px 0;margin-top:14px;border:0;border-bottom:1px solid #999;background:transparent;font-size:12px;color:#303038}
.project-crumb{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:28px;color:#9999a1;font-size:12px}
.project-crumb>a{flex:none;color:#65656e}
.project-crumb>span:last-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.project-detail{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:38px 44px;align-items:start}
.project-detail-visual{display:flex;align-items:center;justify-content:center;min-height:260px;aspect-ratio:4/3;background:#f7f7f9;border:1px solid #e8e8ec;border-radius:8px;overflow:hidden;padding:22px}
.project-detail-visual figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%}
.project-detail-visual img{width:100%;height:100%;object-fit:contain;min-height:0}
.project-detail-visual figcaption{font-size:10px;color:#a2a2aa;text-align:center}
.project-detail-copy{min-width:0;padding-top:8px}
.project-detail-copy h1{font-size:30px;line-height:1.4;letter-spacing:-.7px;font-weight:650;margin-top:16px;overflow-wrap:anywhere}
.project-detail-summary{font-size:14px;line-height:1.85;color:#797983;margin-top:16px}
.project-detail-action{margin-top:25px}
.project-primary-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#202023;color:#fff!important;border:1px solid #202023;border-radius:5px;padding:11px 16px;min-height:42px;font-size:12px;font-weight:500}
.project-primary-link:hover{background:#3a3a41}
.project-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;margin-top:26px;padding-top:22px;border-top:1px solid #eaeaed;font-size:12px}
.project-detail-meta>div{min-width:0}
.project-detail-meta dt{color:#a0a0a8;font-size:11px;margin-bottom:5px}
.project-detail-meta dd{color:#5d5d67;overflow-wrap:anywhere}
.project-meta-repo{grid-column:1/-1}
.project-detail-meta a{color:#5d5d67;text-decoration:underline;text-decoration-color:#d0d0d7;text-underline-offset:4px}
.project-source-unavailable{font-size:12px;color:#93939b}
.project-detail-information{grid-column:1/-1;display:grid;grid-template-columns:1.08fr 1fr;gap:28px 44px;padding-top:30px;border-top:1px solid #e8e8ec}
.project-detail-information section{min-width:0}
.project-detail-information h2{font-size:16px;font-weight:600;margin-bottom:13px}
.project-detail-information p,.project-detail-information li{font-size:13px;line-height:1.9;color:#777780}
.project-detail-information ul{padding-left:18px}
.project-detail-information li+li{margin-top:4px}
.project-detail-information .project-source-note{grid-column:1/-1;font-size:11px;color:#a0a0a8}
.project-detail-back{padding-top:30px;font-size:12px}
.project-detail-back a{color:#66666f}
@media(min-width:1500px){.project-grid{gap:24px}.project-card-content{padding:18px 18px 15px}}
@media(max-width:1199px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-detail{gap:30px}.project-detail-information{column-gap:30px}}
@media(max-width:979px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-copy h1{font-size:25px}.project-detail-visual{min-height:220px;padding:15px}.project-detail{column-gap:25px}.project-search{width:260px}.project-directory-head{gap:24px}}
@media(max-width:767px){
  .project-page .project-main{padding-top:25px;padding-bottom:40px}
  .project-directory-head{display:block;margin-bottom:19px}
  .project-directory-head h1{font-size:27px}
  .project-directory-intro{font-size:12px;margin-top:7px}
  .project-eyebrow{font-size:9px;margin-bottom:7px}
  .project-search{width:100%;margin-top:20px}
  .project-search input{font-size:16px}
  .project-search input::placeholder{font-size:12px}
  .project-filters{gap:7px;padding-bottom:16px}
  .project-filter{padding:7px 11px;min-height:35px}
  .project-results-heading{margin:20px 0 14px}
  .project-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .project-card-content{padding:18px}
  .project-card-tags{margin-bottom:9px}
  .project-card-title{min-height:0;font-size:17px;line-height:25px}
  .project-card-summary{min-height:0;margin-top:8px;font-size:13px;line-height:22px;-webkit-line-clamp:3}
  .project-card-footer{padding-top:19px}
  .project-card-repo{font-size:11px}
  .project-crumb{margin-bottom:22px;font-size:11px}
  .project-detail{grid-template-columns:minmax(0,1fr);gap:22px}
  .project-detail-visual{min-height:0;aspect-ratio:4/3;padding:18px}
  .project-detail-copy{padding-top:0}
  .project-detail-copy h1{font-size:27px;margin-top:13px}
  .project-detail-summary{font-size:13px;margin-top:13px}
  .project-detail-action{margin-top:21px}
  .project-primary-link{width:100%;font-size:13px;min-height:44px}
  .project-detail-meta{margin-top:22px;padding-top:19px}
  .project-detail-information{grid-template-columns:minmax(0,1fr);gap:23px;padding-top:23px}
  .project-detail-information h2{font-size:16px;margin-bottom:10px}
  .project-detail-back{padding-top:25px}
}
@media(prefers-reduced-motion:reduce){.project-card,.project-filter{transition:none}}
/* Keep directory summaries readable at ordinary laptop widths. */
.project-card-title{font-size:17px;line-height:24px;min-height:48px}
.project-card-summary{font-size:13px;line-height:22px;color:#6f6f78;min-height:66px}
.project-card-repo{font-size:11px;color:#85858e}
.project-tag{font-size:11px}
.project-directory-intro{font-size:14px}
@media(max-width:767px){.project-card-title,.project-card-summary{min-height:0}}
