/* ============ 领航导览 + 全局搜索（纸面古典浮层） ============ */

/* ———— 导览：暗角遮罩（pointer-events:none，用户仍可操作页面） ———— */
.tour-mask{
  position:fixed;inset:0;z-index:70;pointer-events:none;opacity:0;
  transition:opacity .35s;
  background:
    radial-gradient(ellipse 120% 80% at 50% 50%, transparent 52%, rgba(43,38,32,.30) 100%);
}
.tour-mask.on{opacity:1;}

/* ———— 导览卡：底部居中悬浮（不遮主内容） ———— */
.tour-card{
  position:fixed;left:50%;bottom:26px;z-index:72;
  width:min(560px,92vw);transform:translate(-50%,18px);
  background:var(--paper);
  border:1px solid var(--ink-faint);border-top:3px solid var(--vermilion);
  border-radius:14px;
  box-shadow:0 14px 40px rgba(60,45,20,.32), inset 0 0 0 1px rgba(255,252,242,.5);
  padding:16px 20px 18px;
  opacity:0;pointer-events:none;
  transition:opacity .3s, transform .3s cubic-bezier(.2,.9,.3,1);
}
.tour-card.on{opacity:1;pointer-events:auto;transform:translate(-50%,0);}
.tour-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.tour-step{
  font-size:12px;letter-spacing:.22em;color:var(--vermilion);font-weight:700;
  font-family:Georgia,var(--serif);
}
.tour-x{
  width:26px;height:26px;border-radius:50%;flex:none;
  border:1px solid var(--line);background:transparent;color:var(--ink-soft);
  font-size:14px;line-height:1;cursor:pointer;font-family:var(--serif);transition:all .18s;
}
.tour-x:hover{border-color:var(--vermilion);color:var(--vermilion);transform:rotate(90deg);}
.tour-say{
  font-size:15px;line-height:1.85;color:var(--ink);text-align:justify;
  font-family:var(--serif);
}
.tour-say b{color:var(--vermilion);font-weight:700;}
.tour-fin{font-size:14.5px;}
.tour-tip{
  margin-top:9px;font-size:12.5px;line-height:1.7;color:var(--ink-soft);
  background:rgba(168,134,44,.08);border-left:2px solid var(--gold);
  padding:6px 11px;border-radius:0 6px 6px 0;
}

/* 进度点 */
.tour-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:13px 0 4px;}
.td-dot{
  width:9px;height:9px;border-radius:50%;flex:none;cursor:pointer;padding:0;
  border:1px solid var(--ink-faint);background:transparent;transition:all .18s;
}
.td-dot.done{background:var(--gold);border-color:var(--gold);}
.td-dot.on{background:var(--vermilion);border-color:var(--vermilion);transform:scale(1.35);}
.td-dot:hover{border-color:var(--vermilion);}

/* 按钮行 */
.tour-btns{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px;flex-wrap:wrap;}
.tour-btns .btn-main,.tour-btns .btn-ghost{padding:8px 20px;font-size:13.5px;letter-spacing:.1em;}
.tour-btns .btn-ghost[disabled]{opacity:.4;cursor:default;pointer-events:none;}

@media (max-width:560px){
  .tour-card{bottom:14px;width:94vw;padding:14px 15px 16px;}
  .tour-say{font-size:14px;}
}

/* ============ 全局搜索浮层 ============ */
.search-ov{
  position:fixed;inset:0;z-index:90;display:none;
}
.search-ov.on{display:block;}
.search-mask{
  position:absolute;inset:0;background:rgba(43,38,32,.4);backdrop-filter:blur(3px);
  animation:srFade .2s ease both;
}
@keyframes srFade{from{opacity:0;}to{opacity:1;}}
.search-box{
  position:absolute;left:50%;top:11vh;transform:translateX(-50%);
  width:min(620px,94vw);max-height:74vh;display:flex;flex-direction:column;
  background:var(--paper);
  border:1px solid var(--ink-faint);border-top:3px solid var(--vermilion);
  border-radius:14px;overflow:hidden;
  box-shadow:0 18px 50px rgba(60,45,20,.36), inset 0 0 0 1px rgba(255,252,242,.5);
  animation:srUp .26s cubic-bezier(.2,.9,.3,1) both;
}
@keyframes srUp{from{opacity:0;transform:translate(-50%,-12px);}to{opacity:1;transform:translateX(-50%);}}

.search-bar{
  display:flex;align-items:center;gap:10px;padding:14px 18px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at 0% 0%, rgba(169,50,38,.06), transparent 60%);
}
.search-ic{font-size:18px;color:var(--ink-faint);flex:none;}
.search-in{
  flex:1;border:none;background:transparent;outline:none;
  font-family:var(--serif);font-size:23px;font-weight:700;letter-spacing:.04em;
  color:var(--ink);
}
.search-in::placeholder{color:var(--ink-faint);font-weight:400;font-size:17px;}

.search-list{overflow-y:auto;flex:1;padding:6px 0;}
.search-list::-webkit-scrollbar{width:8px;}
.search-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}

.sr-group{
  font-size:11.5px;letter-spacing:.24em;color:var(--vermilion);font-weight:700;
  padding:9px 20px 4px;
}
.sr-row{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding:7px 20px 7px 18px;cursor:pointer;
  border-left:3px solid transparent;transition:background .12s;
}
.sr-row:hover{background:rgba(255,252,242,.6);}
.sr-row.on{background:rgba(169,50,38,.08);border-left-color:var(--vermilion);}
.sr-label{font-size:15px;color:var(--ink);font-weight:700;letter-spacing:.03em;}
.sr-sub{font-size:12.5px;color:var(--ink-soft);line-height:1.5;}
.sr-alias{
  color:var(--gold);border:1px dashed rgba(168,134,44,.5);border-radius:5px;
  padding:0 6px;margin-left:2px;font-size:11.5px;letter-spacing:.02em;
}
.sr-empty{
  padding:34px 24px;text-align:center;font-size:13.5px;line-height:1.9;color:var(--ink-soft);
}
.sr-empty i{font-style:normal;color:var(--vermilion);}

.search-hint{
  padding:9px 18px;border-top:1px solid var(--line);
  font-size:12px;color:var(--ink-faint);letter-spacing:.06em;text-align:center;
  background:rgba(236,226,204,.5);
}
.search-hint kbd{
  font-family:Georgia,var(--serif);font-size:11.5px;color:var(--ink-soft);
  background:var(--paper);border:1px solid var(--line);border-bottom-width:2px;
  border-radius:5px;padding:1px 6px;margin:0 1px;
}

@media (max-width:560px){
  .search-box{top:6vh;width:96vw;max-height:84vh;}
  .search-in{font-size:19px;}
}
