/* jcpt-deep-optimize-20260704.css — 一单一库/整站深度优化样式（与平台深青主题一致） */

/* ===== 快照信息条 ===== */
.jdo-snap{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:#f2f7f6;border:1px solid #d5e5e2;border-radius:10px;padding:9px 12px;font-size:13px;color:#23514b;line-height:1.6}
.jdo-snap b{color:#0f5f54}
.jdo-snap-item{white-space:nowrap}
.jdo-snap-src{flex-basis:100%;font-size:12px;color:#5f7f7a;line-height:1.55}
.jdo-snap-stale{color:#a76a00;font-size:12px}
.jdo-snap-err{color:#8a5510;background:#fdf6e8;border-color:#eeddb5}

/* ===== 工作台定位高亮 ===== */
.jdo-flash{animation:jdoFlash 1.2s ease-in-out 2;border-radius:12px}
@keyframes jdoFlash{0%,100%{box-shadow:0 0 0 0 rgba(15,95,84,0)}50%{box-shadow:0 0 0 4px rgba(15,95,84,.35)}}

/* ===== 轻量抽屉 ===== */
.jdo-drawer-mask{position:fixed;inset:0;background:rgba(10,30,28,.45);z-index:99990;display:none;backdrop-filter:blur(2px)}
.jdo-drawer-mask.jdo-open{display:block}
.jdo-drawer{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));max-height:78vh;overflow:auto;box-shadow:0 -8px 30px rgba(0,0,0,.18);animation:jdoUp .22s ease-out}
@media(min-width:761px){.jdo-drawer{left:auto;right:24px;bottom:24px;width:420px;border-radius:14px;animation:none}}
@keyframes jdoUp{from{transform:translateY(30%)}to{transform:translateY(0)}}
.jdo-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:16px;color:#0f3f39}
.jdo-drawer-x{border:none;background:#eef4f3;border-radius:8px;width:32px;height:32px;font-size:18px;color:#33544f;cursor:pointer}
.jdo-drawer-row{display:flex;gap:8px;margin:10px 0}
.jdo-drawer-inp{flex:1;border:1px solid #c9dbd8;border-radius:9px;padding:10px 12px;font-size:15px}
.jdo-drawer-inp:focus{outline:none;border-color:#0f5f54;box-shadow:0 0 0 3px rgba(15,95,84,.12)}
.jdo-drawer-go{border:none;background:#0f5f54;color:#fff;border-radius:9px;padding:0 18px;font-size:14px;font-weight:600;cursor:pointer}
.jdo-drawer-tip{font-size:12px;color:#6c8783;margin-top:10px;line-height:1.6}
.jdo-chk{display:flex;gap:10px;align-items:center;border-radius:9px;padding:10px 12px;font-size:14px;margin-top:6px}
.jdo-chk b{font-size:15px}
.jdo-chk-ok{background:#e9f7ef;color:#156a3f;border:1px solid #bfe5cd}
.jdo-chk-rev{background:#fdf6e8;color:#8a5510;border:1px solid #eeddb5}
.jdo-chk-none{background:#f4f5f7;color:#4a5560;border:1px solid #dde2e8}
.jdo-chk-err{background:#fceceb;color:#9c3428;border:1px solid #efc5c0}
.jdo-chk-note{font-size:12px;color:#63807b;margin-top:6px;line-height:1.6}
.jdo-skel{height:44px;border-radius:9px;background:linear-gradient(90deg,#eef2f1 25%,#e2eae8 37%,#eef2f1 63%);background-size:400% 100%;animation:jdoSkel 1.2s infinite;margin-top:6px}
.jdo-batch-progress{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#0f5f54;padding:8px 2px;font-weight:600}
.jdo-spin{width:15px;height:15px;border:2px solid #bfe0d6;border-top-color:#0f5f54;border-radius:50%;animation:jdoSpin .7s linear infinite;flex:0 0 auto}
@keyframes jdoSpin{to{transform:rotate(360deg)}}
@keyframes jdoSkel{0%{background-position:100% 0}100%{background-position:0 0}}

/* ===== 抽屉工作区: tabs + 批量 ===== */
.jdo-dtabs{display:flex;gap:8px;margin:10px 0 4px}
.jdo-dtab{border:1px solid #c9dbd8;background:#fff;color:#33544f;border-radius:9px;padding:7px 16px;font-size:13.5px;font-weight:600;cursor:pointer}
.jdo-dtab.on{background:#0f5f54;color:#fff;border-color:#0f5f54}
.jdo-bta{width:100%;border:1px solid #c9dbd8;border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;margin-top:8px}
.jdo-bta:focus{outline:none;border-color:#0f5f54;box-shadow:0 0 0 3px rgba(15,95,84,.12)}
.jdo-bclear{border:1px solid #c9dbd8;background:#fff;color:#4a6763;border-radius:9px;padding:0 16px;font-size:13px;cursor:pointer}
.jdo-btbl-wrap{max-height:320px;overflow:auto;border:1px solid #d5e5e2;border-radius:9px;margin-top:6px}
.jdo-btbl{width:100%;border-collapse:collapse;font-size:12.5px}
.jdo-btbl th,.jdo-btbl td{border-bottom:1px solid #e4eeec;padding:6px 8px;text-align:left;vertical-align:top}
.jdo-btbl th{position:sticky;top:0;background:#f0f6f5;color:#23514b;z-index:1}
.jdo-btbl tr[data-jdo-st="exact"] td{background:#f2faf5}
.jdo-btbl tr[data-jdo-st="review"] td{background:#fdfaf1}
.jdo-btbl tr[data-jdo-st="none"] td{background:#f7f8fa}
.jdo-bnote{color:#63807b;max-width:200px}
@media(min-width:761px){.jdo-drawer{width:560px}}

/* ===== 搜索自动补全 ===== */
.jdo-ac{background:#fff;border:1px solid #c9dbd8;border-radius:10px;box-shadow:0 10px 28px rgba(15,60,54,.14);overflow:hidden;max-height:340px;overflow-y:auto}
.jdo-ac-item{display:flex;align-items:baseline;gap:10px;padding:9px 14px;cursor:pointer;font-size:14px;border-bottom:1px solid #eef4f3}
.jdo-ac-item:last-child{border-bottom:none}
.jdo-ac-item:hover,.jdo-ac-item.on{background:#eef6f4}
.jdo-ac-item b{color:#0f3f39;font-weight:600;white-space:nowrap}
.jdo-ac-alias{color:#7d948f;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.jdo-ac-cat{color:#0f5f54;font-size:11.5px;background:#e6f1ef;border-radius:6px;padding:1px 8px;white-space:nowrap}

/* ===== 空结果智能引导 ===== */
.jdo-empty-guide{background:#f7fbfa;border:1px solid #d5e5e2;border-radius:12px;padding:14px 16px;margin:12px 0;font-size:14px;color:#23514b}
.jdo-empty-guide>b{display:block;margin-bottom:8px;color:#0f3f39}
.jdo-eg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.jdo-eg-btn{border:1px solid #bfd6d2;background:#fff;color:#0f5f54;border-radius:9px;padding:8px 14px;font-size:13px;cursor:pointer}
.jdo-eg-btn:hover{background:#0f5f54;color:#fff}
.jdo-eg-chip{border:1px solid #d5e5e2;background:#eef4f3;color:#215750;border-radius:8px;padding:5px 12px;font-size:13px;cursor:pointer}
.jdo-eg-chip:hover{background:#0f5f54;color:#fff}
.jdo-eg-load{color:#7d948f;font-size:12.5px}
.jdo-eg-synrow{margin-top:6px}
.jdo-eg-synlbl{color:#0f5f54;font-size:12.5px;font-weight:600}
.jdo-eg-synrow .jdo-eg-chip{border-color:#bfe0c9;background:#eaf7ef;color:#1a6b3a}
.jdo-eg-synrow .jdo-eg-chip:hover{background:#1a6b3a;color:#fff}
.jdo-stdhint{margin:6px 0 2px;font-size:12.5px}
.jdo-stdhint summary{color:#0f5f54;cursor:pointer;user-select:none;padding:2px 0}
.jdo-stdhint-body{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;margin-top:4px}
.jdo-sh-row{display:flex;gap:6px;color:#41615b;line-height:1.5}
.jdo-sh-row b{color:#0f5f54;min-width:44px;flex:none}
@media(max-width:640px){.jdo-stdhint-body{grid-template-columns:1fr}}
.jdo-chk-retry{margin-top:8px;border:1px solid #0f5f54;background:#fff;color:#0f5f54;border-radius:8px;padding:6px 16px;font-size:13px;cursor:pointer}
.jdo-chk-retry:hover{background:#0f5f54;color:#fff}
.jdo-faq{max-width:1200px;margin:8px auto 4px;padding:14px 18px}
.jdo-faq-h{font-size:15px;font-weight:700;color:#d9e6e3;margin-bottom:10px}
.jdo-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
.jdo-faq-item{border-bottom:1px solid rgba(255,255,255,.12)}
.jdo-faq-item summary{cursor:pointer;color:#cfe0dc;font-size:13px;padding:7px 0;list-style:none;user-select:none}
.jdo-faq-item summary::-webkit-details-marker{display:none}
.jdo-faq-item summary::before{content:"▸ ";color:#7fb3a8}
.jdo-faq-item[open] summary::before{content:"▾ "}
.jdo-faq-a{color:#a9c2bd;font-size:12.5px;line-height:1.7;padding:0 0 9px 14px}
@media(max-width:760px){.jdo-faq-list{grid-template-columns:1fr}}
.jdo-totop{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:9998;width:44px;height:44px;border-radius:50%;border:1px solid #cfe0dc;background:#0f5f54;color:#fff;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(15,95,84,.3);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.jdo-totop.jdo-show{opacity:1;visibility:visible;transform:translateY(0)}
.jdo-totop:hover{background:#0b463e}
@media(max-width:760px){.jdo-totop{right:14px;bottom:calc(70px + env(safe-area-inset-bottom,0px))}}
.jdo-share{margin:8px 0 2px;border:1px solid #bfd6d2;background:#fff;color:#0f5f54;border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}
.jdo-share:hover{background:#0f5f54;color:#fff}

/* ===== 结果补齐器 ===== */
.jdo-fullres{margin:10px 0}
.jdo-fullres-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#eef8f4;border:1px solid #bfe0d6;border-radius:11px;padding:11px 14px;font-size:13.5px;color:#1d5c50}
.jdo-fullres-bar b{color:#0c6b52;font-size:16px}
.jdo-fullres-open{margin-left:auto;border:none;background:#0f5f54;color:#fff;border-radius:9px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer}
.jdo-fullres-open:hover{background:#0c4d44}
.jdo-fullres-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:10px}
.jdo-fr-card{display:block;background:#fff;border:1px solid #dde8e5;border-radius:11px;padding:12px 14px;text-decoration:none;transition:.12s}
.jdo-fr-card:hover{border-color:#0f5f54;box-shadow:0 4px 14px rgba(15,95,84,.10)}
.jdo-fr-name{color:#0f3f39;font-weight:600;font-size:14.5px;margin-bottom:4px}
.jdo-fr-meta{color:#7d948f;font-size:12.5px;margin-bottom:6px}
.jdo-fr-tags{display:flex;flex-wrap:wrap;gap:5px}
.jdo-fr-tag{background:#eef4f3;border:1px solid #dbe8e5;color:#215750;border-radius:6px;padding:1px 8px;font-size:11.5px}
.jdo-fullres-more{grid-column:1/-1;border:1px dashed #bfd6d2;background:#fbfdfd;color:#0f5f54;border-radius:10px;padding:10px;font-size:13px;cursor:pointer}
@media(max-width:760px){.jdo-fullres-list{grid-template-columns:1fr}}

/* ===== 详情页 常见标准结构化 ===== */
.jdo-stds{border:1px solid #d5e5e2;border-radius:10px;padding:10px 12px;margin:8px 0;background:#fbfdfd}
.jdo-stds-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:#23514b;margin-bottom:8px}
.jdo-stds-bar b{color:#0f5f54;font-size:15px}
.jdo-stds-filter{flex:1;min-width:160px;border:1px solid #c9dbd8;border-radius:8px;padding:6px 10px;font-size:13px}
.jdo-stds-toggle,.jdo-stds-raw{border:1px solid #bfd6d2;background:#fff;color:#0f5f54;border-radius:8px;padding:6px 12px;font-size:12.5px;cursor:pointer}
.jdo-stds-chips{display:flex;flex-wrap:wrap;gap:6px}
.jdo-stds-chips.jdo-clamp{max-height:132px;overflow:hidden;position:relative}
.jdo-stds-chips.jdo-clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(180deg,rgba(251,253,253,0),#fbfdfd)}
.jdo-chip{display:inline-block;background:#eef4f3;border:1px solid #d5e5e2;color:#215750;border-radius:7px;padding:3px 9px;font-size:12.5px;text-decoration:none;white-space:nowrap}
.jdo-chip:hover{background:#0f5f54;color:#fff;border-color:#0f5f54}
.jdo-stds-rawtext{font-size:12.5px;color:#54726d;line-height:1.7;margin-top:8px;max-height:300px;overflow:auto;border-top:1px dashed #d5e5e2;padding-top:8px}
.jdo-rawclamp{max-height:180px;overflow:hidden;position:relative}
.jdo-empty-hint{background:#f4f9f8;border:1px dashed #bcd8d3;color:#4d6f6a;border-radius:9px;padding:10px 12px;font-size:13px;line-height:1.65;margin-top:8px}

/* ===== 批量预检增强 ===== */
.jdo-batch-count{font-size:12.5px;color:#5f7f7a;margin:4px 0 6px}
.jdo-batch-count.jdo-over{color:#b23c2e;font-weight:600}
.jdo-batch-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 8px}
.jdo-bt{border:1px solid #c9dbd8;background:#fff;color:#33544f;border-radius:8px;padding:5px 12px;font-size:12.5px;cursor:pointer}
.jdo-bt.on{background:#0f5f54;color:#fff;border-color:#0f5f54}
.jdo-bt-ok{color:#156a3f}.jdo-bt-rev{color:#8a5510}.jdo-bt-none{color:#4a5560}
.jdo-bt-copy{border:1px solid #bfd6d2;background:#eef4f3;color:#0f5f54;border-radius:8px;padding:5px 12px;font-size:12.5px;cursor:pointer;margin-left:auto}
.jdo-bt-copy+.jdo-bt-copy{margin-left:0}
.olp-batch-inline tr[data-jdo-st="exact"] td{background:#f2faf5}
.olp-batch-inline tr[data-jdo-st="review"] td{background:#fdfaf1}
.olp-batch-inline tr[data-jdo-st="none"] td{background:#f7f8fa}

/* ===== C1 首页热门搜索遮挡修复（JS 检测到重叠时启用） ===== */
.jdo-hotword-flowfix .market-hotword-row,
.jdo-hotword-flowfix .market-hotword{position:static !important;box-shadow:none}

/* ===== C2 移动端修正 ===== */
@media(max-width:760px){
  /* 一单一库悬浮 tab 上移避开登录按钮区 */
  .jcpt-one-lib-entry,.jcpt-one-lib-entry-rail{top:38% !important;transform:translateY(-38%)}
  /* 分类 chips 横向滚动，不裁切 */
  .market-hotword-row{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}
  .market-hotword-row::-webkit-scrollbar{display:none}
  .jdo-stds-bar{gap:6px}
  .jdo-stds-filter{min-width:120px}
}
