/* ============================================================================
   全站搜索（v396 · 血染 2026-10-28：「没有全站搜索」）
   ----------------------------------------------------------------------------
   只给 `js/search.js` 用 —— 浮层结构由脚本建，本文件只管样式。

   ⚠️ 三处硬约束（改之前先看清楚）：
     ① 层级：闸门 .gate 在最上层（4000+），加载幕 70、导航 80。
        搜索浮层取 3500/3501 —— **压过内容与导航，让过闸门**。别往上抬。
     ② 手机档必须是整屏（100dvh，不是 100vh）：地址栏收放时 100vh 会把
        底部提示条顶出屏幕（灯箱那回踩过，见 detail.css 的 92vh→dvh 备注）。
     ③ 输入框字号手机档 **16px** —— 小于 16 会在 iOS 上触发「聚焦自动放大页面」，
        关掉浮层后页面还停在放大态。这是 iOS 的老规矩，别改成 15px 好看。
   ========================================================================== */

/* ---------- 顶栏放大镜按钮 ---------- */
/* 桌面：.nav-in 里 brand / .nav-links( flex:1 ) / .nav-sch / .nav-badge 四个 flex 子项。
   ⚠️ 宽度是真挤出来的：1024~1440 实测只剩 22~25px（_tmp/_v396_navfit.cjs），
      光加按钮会横向溢出 ⇒ 同一批改动里把 `.nav-links a` 的左右内边距各收 1px
      （10 项共省 20px，见本文件末尾 §39 的补丁块）。 */
.nav-sch{
  flex:none;width:38px;height:38px;display:grid;place-items:center;
  background:transparent;border:1px solid rgba(216,180,90,.28);border-radius:3px;
  color:#dfe4ec;cursor:pointer;padding:0;margin-left:2px;
  transition:color .15s,border-color .15s,background .15s,box-shadow .15s;
}
.nav-sch svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.nav-sch:hover{color:#f4dc9c;border-color:rgba(216,180,90,.62);background:rgba(216,180,90,.10);box-shadow:0 0 14px rgba(216,180,90,.22)}
.nav-sch:focus-visible{outline:2px solid rgba(232,200,116,.85);outline-offset:2px}

/* ---------- 遮罩 + 面板 ---------- */
.wsr-bd{
  position:fixed;inset:0;z-index:3500;display:none;
  background:rgba(3,5,12,.74);
  -webkit-backdrop-filter:blur(5px) saturate(.9);backdrop-filter:blur(5px) saturate(.9);
}
.wsr-bd.on{display:block;animation:wsr-fade .16s ease-out}
@keyframes wsr-fade{from{opacity:0}to{opacity:1}}

.wsr{
  position:fixed;z-index:3501;left:50%;top:9vh;transform:translateX(-50%);
  width:min(680px,calc(100vw - 36px));max-height:74vh;
  display:none;flex-direction:column;overflow:hidden;
  background:linear-gradient(180deg,#14161f,#0a0c13 62%);
  border:1px solid rgba(216,180,90,.34);border-radius:4px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.95),0 0 0 1px rgba(0,0,0,.6),
             inset 0 1px 0 rgba(255,240,200,.10);
}
.wsr.on{display:flex;animation:wsr-in .18s cubic-bezier(.2,.9,.3,1)}
@keyframes wsr-in{from{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* 头部：放大镜 + 输入框 + 关闭 */
.wsr-hd{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid rgba(216,180,90,.16);flex:none}
.wsr-hd svg{width:19px;height:19px;flex:none;fill:none;stroke:rgba(232,200,116,.82);stroke-width:2;stroke-linecap:round}
.wsr-in{
  flex:1;min-width:0;background:none;border:0;outline:none;
  font-family:var(--f-body);font-size:16.5px;letter-spacing:.4px;color:#eef2f8;
  padding:2px 0;
}
.wsr-in::placeholder{color:#6f7889;letter-spacing:.6px}
/* ⛔ 必须杀掉浏览器自带的「清除」小叉：type=search 在 Chromium 里会多画一个蓝 ×，
   跟右边我们自己的关闭按钮并排 —— 两个叉，一个清字一个关窗，谁都猜不出哪个是哪个。 */
.wsr-in::-webkit-search-cancel-button,
.wsr-in::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.wsr-in::-ms-clear{display:none;width:0;height:0}
.wsr-x{
  flex:none;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;
  background:transparent;border:1px solid rgba(150,160,180,.24);border-radius:3px;
  color:#9aa4b6;font-size:15px;line-height:1;padding:0;
}
.wsr-x:hover{color:#f0d79a;border-color:rgba(216,180,90,.5)}

/* 结果区 */
.wsr-bd2{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 6px 10px;flex:1}
.wsr-g{
  display:flex;align-items:center;gap:8px;
  padding:12px 10px 5px;font-size:11.5px;letter-spacing:1.8px;
  color:rgba(216,180,90,.78);font-family:var(--f-title);
  /* 分组标题吸顶：结果一屏放不下时，滚下去还得知道自己在看哪一类。
     底色必须给（不然文字和滚过的行糊在一起），且要盖住列表的内边距。 */
  position:sticky;top:0;z-index:1;
  background:linear-gradient(180deg,#14161f 72%,rgba(20,22,31,.92));
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.wsr-g em{font-style:normal;color:#78828f;letter-spacing:.5px;font-size:11px}
.wsr-i{
  display:flex;align-items:center;gap:10px;
  padding:9px 10px;border-radius:3px;text-decoration:none;
  color:#e6eaf0;border-left:2px solid transparent;
}
.wsr-i:hover,.wsr-i.on{
  background:linear-gradient(90deg,rgba(216,180,90,.15),rgba(216,180,90,.02));
  border-left-color:rgba(232,200,116,.8);
}
.wsr-i .t{font-size:14px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.wsr-i .s{font-size:11.5px;color:#858f9f;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 0;min-width:0;text-align:right}
.wsr-i mark{background:none;color:#ffd98a;font-weight:600}

/* ⚠️ v1 每行右侧还挂了一个「物品/任务」小徽章，实测被**分组标题**完全替代
   （同一组每行都印同一个词 = 纯噪声），已删；`.k` 的样式一并摘掉。 */

/* 空状态：常用入口 + 最近搜索 */
.wsr-hot{display:flex;flex-wrap:wrap;gap:8px;padding:4px 10px 6px}
.wsr-hot a{
  font-size:12.5px;letter-spacing:.6px;text-decoration:none;color:#cfd6e2;
  border:1px solid rgba(216,180,90,.26);border-radius:999px;padding:7px 13px;
  background:rgba(216,180,90,.05);transition:.15s;
}
.wsr-hot a:hover{color:#f6e0a8;border-color:rgba(216,180,90,.6);background:rgba(216,180,90,.14)}
.wsr-none{padding:30px 16px;text-align:center;color:#8c95a4;font-size:13px;line-height:1.9}
.wsr-none b{color:#dfe4ec;font-weight:400}
.wsr-load{padding:10px;color:#7d8695;font-size:12.5px;letter-spacing:.4px}

/* 底部提示（桌面才有意义） */
.wsr-ft{
  flex:none;display:flex;align-items:center;gap:14px;
  padding:9px 14px;border-top:1px solid rgba(216,180,90,.12);
  font-size:11.5px;letter-spacing:.6px;color:#78818f;
}
.wsr-ft kbd{
  font-family:var(--f-body);font-size:10.5px;color:#cfd6e2;
  border:1px solid rgba(150,160,180,.3);border-radius:2px;padding:0 4px;margin-right:3px;
}
.wsr-ft .n{margin-left:auto;color:#8d96a5}

/* ---------- 手机：整屏 ---------- */
@media(max-width:640px){
  .wsr{
    left:0;top:0;transform:none;width:100%;
    height:100dvh;max-height:100dvh;border:0;border-radius:0;
    border-bottom:1px solid rgba(216,180,90,.24);
  }
  .wsr.on{animation:none}
  .wsr-hd{padding:12px 12px;padding-top:max(12px,env(safe-area-inset-top))}
  .wsr-in{font-size:16px}          /* ⚠️ 16px 是下限，见文件头 ③ */
  .wsr-x{width:40px;height:40px;min-width:40px}
  .wsr-i{padding:11px 10px;min-height:46px}
  .wsr-i .s{display:none}
  .wsr-i .t{font-size:14.5px;flex:1 1 auto}
  .wsr-hot a{min-height:40px;display:inline-flex;align-items:center}
  .wsr-ft{display:none}
  .wsr-bd2{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
