.topaz-search{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;align-items:flex-start}
.topaz-search[hidden]{display:none}
.ts-backdrop{position:absolute;inset:0;background:rgba(10,20,18,.55);backdrop-filter:blur(4px);animation:tsFade .2s ease}
.ts-search-box{position:relative;width:640px;max-width:calc(100vw - 28px);margin-top:9vh;background:var(--surface);
  border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.4);overflow:hidden;animation:tsPop .25s ease}
.ts-search-bar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}
.ts-search-ic{font-size:20px;opacity:.7}
.ts-search-bar input{flex:1;border:none;background:transparent;font-size:19px;font-family:inherit;color:var(--ink);outline:none}
.ts-search-close{background:transparent;border:none;font-size:18px;cursor:pointer;color:var(--muted);padding:6px}
.ts-search-results{max-height:60vh;overflow-y:auto;padding:8px}
.ts-search-hint,.ts-search-none{color:var(--muted);text-align:center;padding:28px 16px}
.ts-res-group{padding:6px 8px}
.ts-res-title{font-size:13px;font-weight:800;color:var(--teal);margin:8px 6px;text-transform:uppercase;letter-spacing:.5px}
.ts-res{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink);transition:.15s}
.ts-res:hover{background:var(--bg)}
.ts-res .thumb{width:44px;height:44px;border-radius:10px;background:var(--bg);display:flex;align-items:center;
  justify-content:center;font-size:22px;overflow:hidden;flex-shrink:0}
.ts-res .thumb img{width:100%;height:100%;object-fit:cover}
.ts-res .nm{font-weight:700}
.ts-res .mt{color:var(--teal);font-weight:800;font-size:14px}
.ts-res .body{flex:1;min-width:0}
.search-btn{background:transparent;border:1px solid var(--border);border-radius:50%;width:38px;height:38px;
  font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:inherit;transition:.2s}
.search-btn:hover{border-color:var(--teal)}
@keyframes tsFade{from{opacity:0}to{opacity:1}}
@keyframes tsPop{from{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:640px){.ts-search-box{margin-top:0;height:100%;max-width:100vw;width:100vw;border-radius:0}.ts-search-results{max-height:calc(100vh - 62px)}}
