.site-search-overlay{
  position:fixed;inset:0;z-index:500;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:flex-start;justify-content:center;
  padding:12vh 20px 20px;
  opacity:0;visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
}
.site-search-overlay.open{opacity:1;visibility:visible;}
.site-search-panel{
  width:100%;max-width:640px;
  background:#111111;
  border:1px solid rgba(255,211,0,.18);
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.5);
  overflow:hidden;
  transform:translateY(-20px) scale(.98);
  transition:transform .3s cubic-bezier(.16,1,.3,1);
  display:flex;flex-direction:column;
  max-height:70vh;
}
.site-search-overlay.open .site-search-panel{transform:translateY(0) scale(1);}
.site-search-input-row{
  display:flex;align-items:center;gap:14px;
  padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.site-search-input-row svg{width:20px;height:20px;fill:none;stroke:rgba(255,255,255,.4);stroke-width:1.8;flex-shrink:0;}
.site-search-input{
  flex:1;background:none;border:none;outline:none;
  font-family:'Noto Sans TC',sans-serif;font-size:17px;color:#fff;
  letter-spacing:.3px;
}
.site-search-input::placeholder{color:rgba(255,255,255,.35);}
.site-search-close{
  width:32px;height:32px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:none;cursor:pointer;
  border:1px solid rgba(255,255,255,.15);border-radius:50%;
  transition:color .2s,border-color .2s,background .2s;
  color:rgba(255,255,255,.5);
}
.site-search-close svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;}
.site-search-close:hover{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06);}
.site-search-results{overflow-y:auto;padding:8px 0;}
.site-search-group-label{
  padding:14px 24px 8px;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:#FFD300;font-weight:700;
}
.site-search-item{
  display:flex;align-items:center;gap:14px;
  padding:10px 24px;
  text-decoration:none;color:inherit;
  transition:background .15s;
}
.site-search-item:hover,.site-search-item.active{background:rgba(255,211,0,.08);}
.site-search-item-thumb{
  width:40px;height:40px;border-radius:8px;overflow:hidden;flex-shrink:0;
  background:#1A1A1A;
}
.site-search-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.site-search-item-thumb.empty{display:flex;align-items:center;justify-content:center;}
.site-search-item-thumb.empty svg{width:16px;height:16px;stroke:rgba(255,255,255,.25);stroke-width:1.6;fill:none;}
.site-search-item-title{
  font-size:14.5px;color:rgba(255,255,255,.85);letter-spacing:.2px;line-height:1.5;
}
.site-search-empty{
  padding:48px 24px;text-align:center;
  color:rgba(255,255,255,.3);font-size:14px;letter-spacing:.5px;
}
.site-search-hint{
  padding:12px 24px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;color:rgba(255,255,255,.25);letter-spacing:.5px;flex-shrink:0;
}
body.site-search-open{overflow:hidden;}

@media(max-width:600px){
  .site-search-overlay{padding:8vh 14px 14px;}
  .site-search-panel{max-height:78vh;border-radius:16px;}
  .site-search-input-row{padding:16px 18px;}
  .site-search-hint{display:none;}
}
