/* 插件中心：顶部协议资源与可随真实发布量扩展的目录。 */
.plugins-page .plugin-resource-stack { margin: 0 0 32px; }
.plugins-page .plugin-resource-stack:empty { display: none; }
.plugins-page .equipment-plugin-hero { margin-top: 0; }
.plugins-page .plugin-equipment-scene { border:0; border-radius:0; background:transparent; }
.plugins-page .plugin-equipment-scene img { position:static; width:100%; height:100%; max-width:100%; object-fit:cover; object-position:right center; filter:none; -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 90%,transparent); mask-image:linear-gradient(to right,transparent,#000 8%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 90%,transparent); -webkit-mask-composite:source-in; mask-composite:intersect; }
.plugins-page .plugin-protocol-bar { display: flex; align-items: center; gap: 22px; padding: 21px 24px; border: 1px solid #d7e1e8; border-left: 4px solid #355c79; background: #f0f4f7; border-radius: 5px; }
.plugins-page .plugin-protocol-bar + .plugin-protocol-bar { margin-top: 12px; }
.plugins-page .plugin-protocol-symbol { flex: 0 0 48px; display: grid; place-items: center; height: 48px; color: #355c79; background: #e2eaf0; border: 1px solid #cfdde7; border-radius: 4px; font: 600 22px/1 ui-monospace, monospace; }
.plugins-page .plugin-protocol-copy { min-width: 0; flex: 1; }
.plugins-page .plugin-protocol-copy .eyebrow { margin: 0 0 5px; font-size: 10px; color: #62798c; letter-spacing: .1em; }
.plugins-page .plugin-protocol-copy h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 6px; font-size: 19px; font-weight: 600; line-height: 1.4; }
.plugins-page .plugin-protocol-copy > p:last-child { max-width: 790px; margin: 0; color: #667785; font-size: 12px; line-height: 1.8; }
.plugins-page .plugin-protocol-version { padding: 3px 7px; border-radius: 3px; border: 1px solid #ccd9e2; color: #3b5a70; background: #fff; font: 500 11px/1.4 ui-monospace, monospace; }
.plugins-page .plugin-protocol-bar .button { flex-shrink: 0; min-height: 42px; font-size: 12px; }
/* 四条轨道让主打插件宽度适中，后续发布直接进入剩余目录位。 */
.plugins-page .plugin-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.plugins-page .plugin-catalog-grid > .plugin-catalog-card,
.plugins-page .plugin-catalog-grid > .plugin-catalog-card:only-child { display: flex; flex-direction: column; gap: 0; padding: 24px; border: 1px solid #dce3e9; border-top: 3px solid #577187; border-radius: 5px; background: #fff; min-height: 285px; }
.plugins-page .plugin-catalog-grid > .plugin-card-featured,
.plugins-page .plugin-catalog-grid > .plugin-card-featured:only-child { grid-column: span 2; padding: 26px 28px; border-top-color: #315e78; background: linear-gradient(130deg, #f3f7fa, #fff 72%); }
.plugins-page .plugin-catalog-card .plugin-card-top { align-items: flex-start; gap: 10px; }
.plugins-page .plugin-catalog-card .chip-row { justify-content: flex-start; gap: 5px; flex-wrap: wrap; }
.plugins-page .plugin-catalog-card .chip { font-size: 10px; padding: 4px 7px; white-space: nowrap; }
.plugins-page .plugin-catalog-card .plugin-featured-label { color: #386078; background: #e5eef4; }
.plugins-page .plugin-catalog-card h2,
.plugins-page .plugin-catalog-card:only-child h2 { margin: 19px 0 9px; font-size: 18px; line-height: 1.5; }
.plugins-page .plugin-card-featured h2,
.plugins-page .plugin-card-featured:only-child h2 { font-size: 23px; }
.plugins-page .plugin-catalog-card .plugin-summary,
.plugins-page .plugin-catalog-card:only-child .plugin-summary { max-width: 100%; margin: 0 0 22px; color: #637382; font-size: 13px; line-height: 1.9; flex: 1; }
.plugins-page .plugin-catalog-card .plugin-publisher,
.plugins-page .plugin-catalog-card:only-child .plugin-publisher { align-self: auto; margin: 0 0 17px; padding-left: 0; border-left: 0; font-size: 12px; line-height: 1.7; }
.plugins-page .plugin-catalog-card .plugin-card-bottom { gap: 10px; padding-top: 15px; font-size: 11px; }
.plugins-page .plugin-catalog-card .plugin-card-version { color: #3d5263; font-family: ui-monospace, monospace; }
.plugins-page .plugin-catalog-grow { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-width:0; min-height:285px; overflow:hidden; padding:26px 28px; border:1px solid #dce3e9; border-radius:6px; background:#f0f4f8; }
.plugins-page .plugin-catalog-grow-wide { grid-column:span 2; }
.plugins-page .plugin-catalog-grow>span { font:9px/1.6 ui-monospace,monospace; letter-spacing:1px; color:#748598; z-index:1; }
.plugins-page .plugin-catalog-grow h2 { margin:19px 0 10px; font-size:23px; line-height:1.5; font-weight:550; color:#253b51; z-index:1; }
.plugins-page .plugin-catalog-grow p { max-width:300px; margin:0 0 21px; color:#718398; font-size:12px; line-height:1.9; z-index:1; }
.plugins-page .plugin-catalog-grow .text-link { margin-top:auto; z-index:1; }
.plugins-page .plugin-catalog-grow img { width:56%; height:155px; object-fit:cover; object-position:right center; position:absolute; right:0; bottom:0; border-radius:90px 0 0 0; }
@media (max-width: 1120px) {
  .plugins-page .plugin-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .plugins-page .plugin-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plugins-page .plugin-protocol-bar { gap: 15px; padding: 18px; flex-wrap: wrap; }
  .plugins-page .plugin-protocol-copy { flex-basis: calc(100% - 70px); }
  .plugins-page .plugin-protocol-bar .button { margin-left: 63px; }
}
@media (max-width: 600px) {
  .plugins-page .plugin-resource-stack { margin-bottom: 22px; }
  .plugins-page .plugin-catalog-grid { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .plugins-page .plugin-catalog-grid > .plugin-catalog-card,
  .plugins-page .plugin-catalog-grid > .plugin-catalog-card:only-child { padding: 22px; min-height: 260px; }
  .plugins-page .plugin-catalog-grid > .plugin-card-featured,.plugins-page .plugin-catalog-grow-wide { grid-column: auto; }
  .plugins-page .plugin-protocol-symbol { display: none; }
  .plugins-page .plugin-protocol-copy { flex-basis: 100%; }
  .plugins-page .plugin-protocol-bar .button { margin-left: 0; width: 100%; }
}
