/* 门户内容适配；品牌令牌、导航、卡片和按钮直接使用 file 站 style.css。 */
[hidden] { display: none !important; }
.hero-inner { text-align: center; }
.hero-sub { color: var(--t2); }
.p-card h2 { color: var(--t1); font-size: 20px; line-height: 1.4; margin: 22px 0 12px; }
.p-card .plugin-meta { margin-top: 18px; font-size: 12px; color: var(--t3); }
.p-card .p-foot { margin-top: auto; padding-top: 24px; }
.feature-left > h2 { font-size: clamp(26px, 3.2vw, 40px); color: var(--t1); line-height: 1.3; margin: 12px 0 24px; }
.portal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 28px; }
.feature-right .feature-steps { margin: 32px; }
.feature-right .feature-steps li { color: #fff; }
.feature-right .feature-steps li span { color: rgba(255, 255, 255, .85); }
.catalog-tools { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.catalog-search { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--t1); flex: 1; max-width: 430px; }
.catalog-search input { font: inherit; font-size: 14px; padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--card); color: var(--t1); width: 100%; }
.catalog-tools .chips { margin: 0; justify-content: flex-start; }
.catalog-note { margin: 28px 0 10px; font-size: 14px; }
#plugin-count { margin-bottom: 20px; }
.empty-state { padding: 64px 24px; text-align: center; border: 1px solid var(--line); border-radius: var(--r-lg); }
.plugin-detail { padding: 32px; }
.plugin-detail > .pill { margin: 0 0 0 16px; }
.plugin-detail dl { margin: 28px 0; }
.plugin-detail dl > div, .download-facts > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); padding: 12px 0; border-bottom: 1px solid var(--line); gap: 12px; }
dd { color: var(--t1); overflow-wrap: anywhere; }
.portal-docs { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 64px; }
.portal-docs-side { position: sticky; top: 110px; align-self: start; }
.portal-docs-side nav { display: flex; flex-direction: column; gap: 6px; }
.portal-docs-side nav a { padding: 8px 12px; text-decoration: none; border-radius: 8px; }
.portal-docs-side nav a:hover, .portal-docs-side nav a.active { color: var(--t1); background: var(--pill); }
.doc-content { min-width: 0; }
.doc-content h1 { font-size: clamp(30px, 4vw, 44px); color: var(--t1); line-height: 1.3; }
.doc-content h2 { font-size: 23px; color: var(--t1); margin: 40px 0 14px; }
.doc-content p { margin: 16px 0; }
.doc-content .page-sub { margin: 16px 0 32px; }
.doc-content ol { padding-left: 22px; }
.doc-content li { padding: 6px 0; }
.doc-content a { color: var(--t1); text-underline-offset: 4px; }
.doc-content pre { padding: 22px; overflow: auto; background: var(--card-2); border: 1px solid var(--line); border-radius: var(--r-md); font-size: 13px; }
.download-card { padding: 32px; margin-bottom: 24px; }
.info-card .btn-primary { color: var(--btn-primary-fg); }
.download-card h2 { color: var(--t1); font-size: 26px; margin: 18px 0 14px; line-height: 1.4; }
.download-facts { margin: 28px 0 20px; }
.checksum { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 20px; }
.checksum summary { cursor: pointer; color: var(--t1); }
.checksum code { display: block; overflow-wrap: anywhere; margin: 16px 0; font-family: var(--mono); font-size: 13px; }
.checksum p { font-size: 13px; margin-top: 16px; }
.doc-card .p-more { display: block; margin-top: 24px; }
@media (max-width: 720px) {
  .portal-docs { grid-template-columns: 1fr; gap: 32px; }
  .portal-docs-side { position: static; }
  .portal-docs-side nav { flex-direction: row; flex-wrap: wrap; }
  .portal-docs-side nav a { font-size: 13px; }
  .plugin-detail, .download-card { padding: 24px; }
  .plugin-detail dl > div, .download-facts > div { grid-template-columns: 90px minmax(0, 1fr); }
  .catalog-search { flex-basis: 100%; max-width: none; }
}
.company-brand { width: 76px; height: 50px; padding: 3px; border-radius: 8px; background: #fff; flex-shrink: 0; }
.company-brand img { width: 100%; height: 100%; object-fit: contain; }
.footer-company-brand { display: block; width: 128px; height: 90px; }
.market-layout { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 40px; margin-top: 36px; }
.market-categories .chips { flex-direction: column; align-items: stretch; gap: 8px; margin: 18px 0 30px; }
.market-categories .chip-filter { text-align: left; border-radius: 10px; padding: 10px 14px; }
.market-results { min-width: 0; }
.market-list { display: flex; flex-direction: column; gap: 14px; }
.market-list .p-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 3px 20px; padding: 24px; }
.market-list .p-icon { grid-column: 1; grid-row: 1 / span 3; }
.market-list .p-card h2 { grid-column: 2; margin: 0; font-size: 17px; }
.market-list .p-card > p { grid-column: 2; margin: 4px 0 0; min-height: 0; }
.market-list .p-card .p-foot { grid-column: 3; grid-row: 1 / span 3; flex-direction: column; align-items: flex-end; padding: 0; margin: 0; align-self: center; gap: 15px; }
.plugin-page { padding: 125px 0 70px; }
.plugin-title-row { display: flex; align-items: flex-start; gap: 22px; }
.plugin-title-row h1 { color: var(--t1); font-size: clamp(28px, 4vw, 40px); line-height: 1.3; margin: 5px 0 12px; }
.plugin-meta, .plugin-id { color: var(--t3); font-size: 12px; }
.plugin-id { margin-top: 12px; overflow-wrap: anywhere; }
.plugin-sections { display: flex; gap: 30px; border-bottom: 1px solid var(--line); padding: 25px 0 15px; margin-bottom: 8px; }
.plugin-sections a { text-decoration: none; color: var(--t1); font-size: 14px; }
.plugin-sections a:hover { text-decoration: underline; text-underline-offset: 8px; }
.plugin-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 48px; }
.plugin-version { align-self: start; position: sticky; top: 100px; margin-top: 32px; padding: 24px; }
.plugin-version h2 { color: var(--t1); font-size: 17px; margin: 22px 0 12px; }
.plugin-version dl > div { padding: 10px 0; border-bottom: 1px solid var(--line); }
.plugin-version dt { font-size: 12px; color: var(--t3); }
.plugin-version dd { font-size: 13px; margin-top: 3px; }
.plugin-version p { font-size: 13px; margin: 20px 0; }
.plugin-version .p-more { display: block; margin-top: 18px; }
.plugin-version .btn { width: 100%; padding: 11px 16px; font-size: 13px; }
.plugin-screenshot { margin: 24px 0 10px; }
.plugin-screenshot img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; }
.plugin-screenshot figcaption, .screenshot-note { font-size: 12px; color: var(--t2); }
.plugin-screenshot figcaption { margin-top: 8px; }
.doc-content ul { padding-left: 22px; }
.doc-content code { font-family: var(--mono); font-size: .9em; }
@media (max-width: 860px) {
  .market-layout { grid-template-columns: 1fr; gap: 20px; }
  .market-categories .chips { flex-direction: row; flex-wrap: wrap; margin: 10px 0 15px; justify-content: flex-start; }
  .plugin-detail-layout { grid-template-columns: 1fr; gap: 20px; }
  .plugin-version { position: static; }
}
@media (max-width: 520px) {
  .company-brand { width: 65px; height: 45px; }
  .footer-company-brand { width: 128px; height: 90px; }
  .market-list .p-card { grid-template-columns: 42px minmax(0, 1fr); padding: 20px; gap: 8px 14px; }
  .market-list .p-icon { width: 42px; height: 42px; }
  .market-list .p-card .p-foot { grid-column: 2; grid-row: auto; flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: 12px; }
  .plugin-sections { gap: 20px; flex-wrap: wrap; }
  .plugin-title-row { gap: 14px; }
}
