/* EX插件网 — 样式表（原型） */
:root{
  --primary:#2563eb; --primary-dark:#1d4ed8; --violet:#7c3aed;
  --bg:#f6f8fc; --card:#fff; --text:#0f172a; --muted:#64748b;
  --border:#e6ebf3; --radius:14px; --shadow:0 4px 18px rgba(15,23,42,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{
  max-width:100%;overflow-x:hidden;
  font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Segoe UI",system-ui,sans-serif;
  background:var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.grad{background:linear-gradient(90deg,var(--primary),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}

/* 演示提示条 */
.demo-bar{white-space:normal;max-width:100vw;background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e;text-align:center;font-size:13px;padding:7px 12px;line-height:1.5;word-break:break-word}

/* 顶栏 */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:26px;height:68px}
.logo{display:flex;align-items:center;gap:10px}
.logo-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-weight:800;color:#fff;font-size:16px;letter-spacing:.5px;background:linear-gradient(135deg,var(--primary),var(--violet));box-shadow:0 4px 12px rgba(37,99,235,.32)}
.logo-text{font-weight:800;font-size:19px;display:flex;flex-direction:column;line-height:1.15}
.logo-text em{font-style:normal;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.4px}
.nav{display:flex;gap:22px;margin-left:auto;font-size:15px}
.nav a{color:#334155;padding:6px 2px;border-bottom:2px solid transparent;transition:.18s}
.nav a:hover{color:var(--primary)}
.nav a.active{color:var(--primary);font-weight:700;border-color:var(--primary)}
.btn-ghost{border:1px solid var(--border);background:#fff;color:#475569;font-size:13px;padding:7px 13px;border-radius:9px;cursor:pointer}
.btn-ghost:hover{border-color:#c7d2fe;color:var(--primary)}

/* Hero + 搜索 */
.hero{padding:52px 0 34px;background:
  radial-gradient(900px 300px at 15% -10%,rgba(37,99,235,.10),transparent 60%),
  radial-gradient(700px 260px at 85% 0%,rgba(124,58,237,.10),transparent 60%)}
.hero h1{font-size:38px;line-height:1.25;letter-spacing:-.5px}
.hero .sub{margin-top:10px;color:#475569;font-size:16px}
.search-wrap{position:relative;display:flex;align-items:center;gap:10px;margin-top:26px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:10px 10px 10px 16px;box-shadow:var(--shadow);max-width:860px}
.search-wrap:focus-within{border-color:#bfd4ff;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.search-icon{font-size:17px;opacity:.65}
#q{flex:1;border:0;outline:0;font-size:16px;padding:11px 4px;background:transparent;font-family:inherit}
.btn-primary{border:0;background:linear-gradient(135deg,var(--primary),var(--violet));color:#fff;font-size:15px;font-weight:700;padding:12px 26px;border-radius:11px;cursor:pointer;box-shadow:0 6px 16px rgba(37,99,235,.28)}
.btn-primary:hover{filter:brightness(1.06)}
.hot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;font-size:13px}
.hot-label{color:var(--muted)}
.tag{border:1px solid var(--border);background:#fff;color:#475569;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;transition:.15s}
.tag:hover{border-color:#c7d2fe;color:var(--primary);background:#f5f8ff}
.stats{display:flex;gap:36px;margin-top:28px}
.stats div{display:flex;flex-direction:column}
.stats b{font-size:23px;color:var(--primary)}
.stats span{font-size:12.5px;color:var(--muted)}

/* 区块 */
.section{padding:34px 0}
.section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.section-head h2{font-size:22px;letter-spacing:-.3px}
.section-head span{font-size:13.5px}

/* 分类卡 */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(214px,1fr));gap:14px}
.cat-card{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:15px;cursor:pointer;transition:.18s;box-shadow:var(--shadow)}
.cat-card:hover{transform:translateY(-3px);border-color:#c7d2fe;box-shadow:0 10px 24px rgba(37,99,235,.12)}
.cat-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:21px;background:#eef2ff}
.cat-card b{font-size:15px;display:block;overflow-wrap:anywhere}
.cat-card small{color:var(--muted);font-size:12.5px;display:block;overflow-wrap:anywhere}

/* 工具条 */
.toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 15px;font-size:13.5px;cursor:pointer;transition:.15s}
.chip:hover{border-color:#c7d2fe;color:var(--primary)}
.chip.on{background:linear-gradient(135deg,var(--primary),var(--violet));color:#fff;border-color:transparent;font-weight:700}
select{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 12px;font-size:13.5px;color:#475569;font-family:inherit;cursor:pointer}

/* 插件卡 */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(322px,1fr));gap:16px}
.plugin{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:17px;display:flex;flex-direction:column;gap:10px;transition:.18s;box-shadow:var(--shadow)}
.plugin:hover{transform:translateY(-3px);border-color:#c7d2fe;box-shadow:0 12px 26px rgba(37,99,235,.12)}
.p-top{display:flex;gap:12px;align-items:flex-start}
.p-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:#eef2ff;flex:0 0 auto}
.p-name{font-size:16.5px;font-weight:750;line-height:1.35}
.p-soft{font-size:12.5px;color:var(--muted);margin-top:2px}
.p-func{font-size:13.5px;color:#475569;min-height:40px}
.p-tags{display:flex;gap:6px;flex-wrap:wrap}
.p-tags .t{background:#f1f5f9;color:#475569;font-size:11.5px;border-radius:6px;padding:3px 8px}
.p-meta{display:flex;gap:14px;font-size:12.5px;color:var(--muted);border-top:1px dashed var(--border);padding-top:10px;margin-top:auto}
.p-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.btn-dl{border:0;background:#0f2f8f;color:#fff;font-size:13.5px;font-weight:700;padding:9px 16px;border-radius:10px;cursor:pointer}
.btn-dl:hover{background:var(--primary-dark)}
.source{font-size:11.5px;color:var(--muted)}
mark{background:#fff3a3;padding:0 2px;border-radius:3px}

.empty{text-align:center;padding:56px 0;color:#475569}
.empty-icon{font-size:44px;margin-bottom:8px}

/* 页脚 */
.site-footer{margin-top:44px;background:#0f172a;color:#cbd5e1;padding:38px 0 0}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:26px;padding-bottom:26px}
.site-footer .logo-text{color:#fff}
.site-footer .logo-text em{color:#94a3b8}
.foot-links h4{font-size:14px;color:#fff;margin-bottom:10px}
.foot-links a{display:block;font-size:13.5px;color:#94a3b8;padding:3px 0}
.foot-links a:hover{color:#fff}
.small-p{font-size:12.5px;color:#94a3b8}
.copyright{border-top:1px solid #1e293b;text-align:center;font-size:12.5px;color:#94a3b8;padding:14px}
.copyright a{color:#94a3b8;text-decoration:none;border-bottom:1px dotted #475569}
.copyright a:hover{color:#cbd5e1}

@media (max-width:520px){
  .cat-grid{grid-template-columns:1fr}
  .stats{gap:22px}
}
@media (max-width:820px){
  .nav{display:none}
  .hero h1{font-size:28px}
  .footer-inner{grid-template-columns:1fr 1fr}
  .search-wrap{flex-wrap:wrap}
  .btn-primary{width:100%}
}

/* ============ 软件合集卡 ============ */



/* ============ 插件库页顶部条 ============ */
.page-band{padding:30px 0 6px;background:linear-gradient(180deg,#f7f8ff,#fff)}
.page-band h1{font-size:30px;margin:0 0 6px;letter-spacing:.5px}
.page-band .sub{margin:0 0 16px;color:#5b6478;font-size:14px}
.page-band .sub b{color:#5b4be0}
.page-band .search-wrap{max-width:760px}

/* ============ 分页 ============ */
.pager{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between;
  margin:22px 0 6px;padding:14px 18px;background:#fbfcff;border:1px solid var(--border);border-radius:var(--radius)}
.pager .pg-info{font-size:13.5px;color:#5b6478}
.pager .pg-info b{color:#5b4be0}
.pager .pg-ctl{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pg-btn{font-family:inherit;font-size:13.5px;font-weight:600;color:#3b4457;background:#fff;
  border:1px solid var(--border);border-radius:9px;padding:8px 14px;cursor:pointer;transition:.16s}
.pg-btn:hover:not(:disabled){border-color:#c7d2fe;color:#5b4be0;background:#f7f8ff}
.pg-btn:disabled{opacity:.42;cursor:default}
.pg-sel{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#5b6478;
  background:#fff;border:1px solid var(--border);border-radius:9px;padding:6px 10px}
.pg-sel select{font-family:inherit;font-size:13px;border:1px solid #e2e6f5;border-radius:7px;
  padding:4px 6px;background:#fff;color:#3b4457;cursor:pointer;max-width:190px}
.pg-sel select:focus{outline:none;border-color:#6d5cf6}
@media(max-width:640px){.pager{justify-content:center}}

/* ============ 筛选引导条 + 行标签 ============ */
.filter-desc{margin:0 0 14px;padding:10px 14px;font-size:13px;color:#5b6478;line-height:1.6;
  background:#f7f8ff;border:1px solid #e6e9ff;border-left:4px solid #6d5cf6;border-radius:9px}
.filter-guide .fg-step{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:#334155}
.filter-guide .fg-step b{color:#5b4be0}
.filter-guide .fg-step i{width:19px;height:19px;border-radius:50%;background:#6d5cf6;color:#fff;
  font-style:normal;font-size:11.5px;font-weight:700;display:grid;place-items:center}
.filter-guide .fg-arrow{color:#c3c9e0;font-size:15px}
.filter-guide .fg-note{margin-left:auto;font-size:12.5px;color:#8b93a7}
.row-label{flex:0 0 auto;font-size:13px;font-weight:700;color:#6d5cf6;background:#eef2ff;border-radius:7px;
  padding:5px 10px;margin-right:4px;align-self:center}
.toolbar{align-items:flex-start;justify-content:flex-start}

/* ============ 字母菜单 / 分类收起 ============ */
.chips.letters{gap:5px;margin-bottom:2px}
.chip.lt{min-width:30px;justify-content:center;font-weight:700;letter-spacing:0;padding:6px 8px;font-size:12.5px}
.chip.lt i{font-style:normal;font-size:9.5px;opacity:.6;margin-left:4px;font-weight:600}
.chip.lt.off{opacity:.34;cursor:default}
.chip.lt.on{background:linear-gradient(135deg,#6d5cf6,#8b7cf8);color:#fff;border-color:transparent}
.chip.lt.on i{opacity:.85}
.chip.more{border-style:dashed;border-color:#c7cff5;color:#5b4be0;font-weight:700;background:#f7f8ff}
.chip.more:hover{background:#eef2ff}
.btn-more{margin-left:auto;flex:0 0 auto;font-family:inherit;font-size:13px;font-weight:600;color:#6d5cf6;
  background:#eef2ff;border:1px solid #dfe6ff;border-radius:9px;padding:8px 14px;cursor:pointer;transition:.16s}
.btn-more:hover{background:#e3e9ff}

/* ============ 合集分类下拉 ============ */
.head-right{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sel-wrap{position:relative}
.soft-select{appearance:none;-webkit-appearance:none;font-family:inherit;font-size:14px;font-weight:600;
  color:#334155;background:#fff;border:1px solid var(--border);border-radius:11px;
  padding:10px 40px 10px 15px;min-width:230px;cursor:pointer;box-shadow:var(--shadow);transition:.18s}
.soft-select:hover{border-color:#c7d2fe}
.soft-select:focus{outline:none;border-color:#6d5cf6;box-shadow:0 0 0 3px rgba(109,92,246,.16)}
.sel-wrap::after{content:"";position:absolute;right:15px;top:50%;width:9px;height:9px;margin-top:-6px;
  border-right:2px solid #6d5cf6;border-bottom:2px solid #6d5cf6;transform:rotate(45deg);pointer-events:none}
.soft-grid{animation:softIn .22s ease}
@keyframes softIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:640px){.soft-select{min-width:0;width:100%}.head-right{width:100%}}

.soft-blocks{display:block}
.soft-block{margin-bottom:30px;padding-bottom:30px;border-bottom:1px dashed var(--border)}
.soft-block:last-child{border-bottom:none;padding-bottom:0}
.soft-block:last-child{margin-bottom:0}
.soft-block .block-head{display:flex;align-items:baseline;gap:12px;margin:0 0 12px;padding-left:12px;border-left:4px solid #6d5cf6}
.soft-block .block-head h3{font-size:16.5px;margin:0;letter-spacing:.2px}
.soft-block .block-head .muted{font-size:12.5px}
.soft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.soft-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:.18s}
.soft-card.on{border-color:#bfd4ff;background:linear-gradient(135deg,#f7faff,#fff)}
.soft-card.soon{opacity:.72}
.soft-ico{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-size:23px;background:#eef2ff;flex:0 0 auto}
.soft-card>div:not(.soft-ico){flex:1;min-width:0;padding-right:10px}
.soft-card b{display:block;font-size:15.5px}
.soft-card small{color:var(--muted);font-size:12.5px}
.soft-tag{margin-left:auto;font-size:11.5px;background:#dcfce7;color:#15803d;border-radius:999px;padding:4px 10px;font-weight:700;flex:0 0 auto}
.soft-tag.gray{background:#f1f5f9;color:#64748b}

/* ============ 安装教程按钮 + 教程弹窗 ============ */
.btn-tut{border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:13px;font-weight:700;padding:8px 12px;border-radius:10px;cursor:pointer;font-family:inherit}
.btn-tut:hover{background:#fef3c7}
.tut-pre{white-space:pre-wrap;font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;font-size:13.5px;line-height:1.85;color:#334155;background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:16px;max-height:60vh;overflow:auto;margin:6px 0 10px}
.dl-files{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.dl-files code{background:#f1f5f9;border-radius:6px;padding:3px 8px;font-size:11.5px;color:#475569}

/* ============ 网盘下载按钮 + 下载弹窗 ============ */
.p-foot{display:flex;gap:8px;flex-wrap:wrap}
.btn-net{border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:700;padding:8px 13px;cursor:pointer;font-family:inherit}
.btn-net.baidu{background:#e8f3ff;color:#1a73e8;border-color:#cfe4ff}
.btn-net.quark{background:#eaffef;color:#12813f;border-color:#c9f2d6}
.btn-net:hover{filter:brightness(.96)}
.btn-net.off{background:#f1f5f9;color:#a3aebd;border-color:#e8edf4;cursor:not-allowed}

.modal-mask[hidden]{display:none}
.modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal{background:#fff;border-radius:16px;max-width:660px;width:100%;box-shadow:0 24px 60px rgba(15,23,42,.28);overflow:hidden;animation:pop .16s ease-out}
@keyframes pop{from{transform:translateY(8px);opacity:.5}to{transform:none;opacity:1}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);font-size:17px}
.modal-x{border:0;background:#f1f5f9;width:30px;height:30px;border-radius:9px;cursor:pointer;color:#475569;font-size:14px}
.modal-x:hover{background:#e2e8f0}
.modal-body{padding:4px 18px}
.dl-row{padding:14px 0;border-bottom:1px dashed var(--border)}
.dl-row:last-child{border-bottom:0}
.dl-name{font-weight:750;font-size:14.5px;margin-bottom:9px}
.dl-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dl-url{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:12.5px;color:#334155;overflow-wrap:anywhere;font-family:Consolas,monospace}
.dl-pwd{font-size:13px;color:#475569}
.dl-pwd b{color:#dc2626;letter-spacing:1px}
.dl-none{font-size:13px;color:var(--muted)}
.btn-copy{border:0;background:#0f2f8f;color:#fff;font-size:13px;font-weight:700;padding:8px 13px;border-radius:9px;cursor:pointer;font-family:inherit}
.btn-copy:hover{background:var(--primary-dark)}
.btn-open{border:1px solid var(--border);border-radius:9px;padding:7px 12px;font-size:13px;color:#334155}
.btn-open:hover{border-color:#c7d2fe;color:var(--primary)}
.modal-tip{padding:12px 18px 16px;font-size:12.5px;color:var(--muted)}

@media (max-width:560px){
  .dl-line{align-items:flex-start}
  .btn-copy,.btn-open{width:100%;text-align:center}
}

/* 需 OriginPro 标记 */
.p-tags .t-pro{background:#fff4e5;color:#a35b00;border:1px solid #ffddb0;font-weight:600}
