/* ============================================================
 * LncACTdb 4.0 — Fullscreen Quick Search overlay
 * Namespace: .la-qs-*
 * ============================================================ */

/* ---------- OVERLAY BACKDROP ---------- */
.la-qs{position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(11,20,55,.92);
  backdrop-filter:blur(18px) saturate(140%);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .4s ease,visibility .4s ease;
  overflow:hidden;padding:0 24px;}
.la-qs.is-open{opacity:1;visibility:visible;pointer-events:auto;}

/* ambient glow orbs */
.la-qs__glow{position:fixed;border-radius:50%;pointer-events:none;
  filter:blur(80px);opacity:0;transition:opacity .8s .15s;}
.la-qs.is-open .la-qs__glow{opacity:1;}
.la-qs__glow--1{width:500px;height:400px;top:-8%;left:10%;
  background:rgba(67,56,202,.2);}
.la-qs__glow--2{width:400px;height:350px;bottom:-5%;right:8%;
  background:rgba(6,182,212,.15);}
.la-qs__glow--3{width:300px;height:300px;top:40%;right:25%;
  background:rgba(124,58,237,.1);}

/* ---------- CONTENT CONTAINER ---------- */
.la-qs__body{position:relative;width:100%;max-width:940px;z-index:1;
  transform:scale(.94) translateY(18px);opacity:0;
  transition:transform .45s cubic-bezier(.2,.9,.3,1),opacity .4s ease;
  will-change:transform,opacity;}
.la-qs.is-open .la-qs__body{transform:scale(1) translateY(0);opacity:1;
  transition-delay:.08s;}

/* ---------- CLOSE BUTTON ---------- */
.la-qs__close{position:fixed;top:16px;right:22px;z-index:1002;
  width:40px;height:40px;border:1.5px solid rgba(255,255,255,.18);border-radius:50%;
  background:rgba(255,255,255,.05);color:rgba(255,255,255,.6);
  font-size:18px;cursor:pointer;display:grid;place-items:center;
  transition:transform .35s cubic-bezier(.2,.9,.3,1),opacity .3s,
             background .2s,color .2s,border-color .2s;
  transform:scale(.7);opacity:0;}
.la-qs.is-open .la-qs__close{transform:scale(1);opacity:1;transition-delay:.2s;}
.la-qs__close:hover{background:rgba(255,255,255,.14);color:#fff;
  border-color:rgba(255,255,255,.35);transform:rotate(90deg) scale(1);}

/* ---------- HEADING ---------- */
.la-qs__head{text-align:center;margin-bottom:16px;}
.la-qs__title{font:700 clamp(20px,2.4vw,26px)/1.2 var(--la-font-display);
  color:#fff;letter-spacing:-.02em;margin:0 0 5px;}
.la-qs__title span{background:linear-gradient(90deg,var(--la-cyan),#a5f3fc);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;}
.la-qs__sub{font-size:13px;color:rgba(255,255,255,.4);margin:0;}

/* ---------- TABS (2×3 grid) ---------- */
.la-qs__tabs{display:grid;grid-template-columns:repeat(3,auto);
  justify-content:center;gap:5px;margin-bottom:16px;}
.la-qs__tab{border:1.5px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.55);cursor:pointer;font:600 12.5px var(--la-font);
  padding:7px 16px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;
  transition:all .22s;white-space:nowrap;justify-content:center;}
.la-qs__tab i{font-size:12px;opacity:.6;transition:.22s;}
.la-qs__tab:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);
  border-color:rgba(255,255,255,.2);}
.la-qs__tab.active{background:rgba(255,255,255,.1);color:#fff;
  border-color:rgba(255,255,255,.3);box-shadow:0 0 18px rgba(99,102,241,.15);}
.la-qs__tab.active i{opacity:1;}
.la-qs__tab[data-kind="gene"] i{color:#a5b4fc;}
.la-qs__tab[data-kind="expval"] i{color:#fcd34d;}
.la-qs__tab[data-kind="biomarker"] i{color:#f9a8d4;}
.la-qs__tab[data-kind="disease"] i{color:#fca5a5;}
.la-qs__tab[data-kind="tissue"] i{color:#6ee7b7;}
.la-qs__tab[data-kind="species"] i{color:#67e8f9;}

/* ---------- SEARCH BOX ---------- */
.la-qs__search{position:relative;margin-bottom:12px;}
.la-qs__input-wrap{position:relative;display:flex;align-items:center;
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.12);
  border-radius:12px;transition:.25s;}
.la-qs__input-wrap:focus-within{border-color:rgba(165,180,252,.5);
  background:rgba(255,255,255,.1);box-shadow:0 0 0 4px rgba(99,102,241,.12),
    0 12px 40px rgba(0,0,0,.2);}
.la-qs__input-ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);
  color:rgba(255,255,255,.35);font-size:16px;pointer-events:none;z-index:2;transition:.2s;}
.la-qs__input-wrap:focus-within .la-qs__input-ic{color:var(--la-cyan);}

/* plain text input (pair tab — removed, kept for safety) */
.la-qs__text-input{flex:1;border:0;outline:none;background:none;
  padding:14px 14px 14px 48px;font:500 15px var(--la-mono);color:#fff;min-width:0;}
.la-qs__text-input::placeholder{color:rgba(255,255,255,.3);font-family:var(--la-font);font-weight:400;}

/* --- TomSelect inside overlay --- */
.la-qs__ts-box{flex:1;min-width:0;padding-left:38px;}
.la-qs__ts-box .ts-wrapper{border:0!important;background:none!important;box-shadow:none!important;}
.la-qs__ts-box .ts-wrapper .ts-control{background:none!important;border:0!important;
  box-shadow:none!important;min-height:46px;padding:4px 10px!important;color:#fff;cursor:text;}
.la-qs__ts-box .ts-wrapper .ts-control>input{color:#fff!important;
  font:500 15px var(--la-mono)!important;}
.la-qs__ts-box .ts-wrapper .ts-control>input::placeholder{
  color:rgba(255,255,255,.3)!important;font-family:var(--la-font)!important;font-weight:400!important;}
.la-qs__ts-box .ts-wrapper .ts-control .item{color:#fff;
    display: flex !important;
    align-items: center !important;
  background:rgba(99,102,241,.2)!important;border:1px solid rgba(165,180,252,.3)!important;
  border-radius:8px;font:500 14px var(--la-mono);padding:3px 9px!important;}
.la-qs__ts-box .ts-dropdown{background:rgba(15,18,45,.97)!important;
  border:1px solid rgba(255,255,255,.12)!important;border-radius:12px!important;
  box-shadow:0 20px 60px rgba(0,0,0,.55)!important;backdrop-filter:blur(12px);
  margin-top:4px!important;}
.la-qs__ts-box .ts-dropdown .ts-dropdown-content{max-height:240px;}
.la-qs__ts-box .ts-dropdown .option{color:rgba(255,255,255,.75);padding:8px 12px;
  border-radius:8px;transition:background .1s,color .1s;}
.la-qs__ts-box .ts-dropdown .active{background:rgba(99,102,241,.18)!important;color:#fff!important;}
.la-qs__ts-box .ts-dropdown .option:hover{background:rgba(255,255,255,.06)!important;}
.la-qs__ts-box .la-tag{font-size:10px;padding:2px 7px;border-radius:4px;margin-left:8px;margin-bottom:0px !important;
  font-weight:600;letter-spacing:.03em;}
.la-qs__ts-box .la-tag--lnc{color:#c4b5fd;background:rgba(124,58,237,.2);}
.la-qs__ts-box .la-tag--gene{color:#6ee7b7;background:rgba(16,185,129,.2);}
.la-qs__ts-box .la-tag--both{color:#fcd34d;background:rgba(245,158,11,.15);}

/* submit button */
.la-qs__go{margin:5px;padding:11px 24px;border:0;cursor:pointer;border-radius:10px;color:#fff;
  font:700 14px var(--la-font);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  background:linear-gradient(135deg,var(--la-primary),var(--la-primary-l));
  box-shadow:0 6px 18px rgba(var(--la-primary-rgb),.35);transition:.18s;flex-shrink:0;}
.la-qs__go:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(var(--la-primary-rgb),.5);}
.la-qs__go i{font-size:12px;}

/* pair hint (kept for safety) */
.la-qs__hint{display:none;margin-top:6px;font:500 12px var(--la-font);
  color:rgba(255,255,255,.35);text-align:center;}
.la-qs__hint.is-show{display:block;}
.la-qs__hint code{font:600 11px var(--la-mono);color:var(--la-cyan);
  background:rgba(6,182,212,.1);padding:1px 7px;border-radius:4px;}

/* keyboard hints */
.la-qs__info{display:flex;justify-content:center;gap:16px;margin-top:6px;
  font-size:11px;color:rgba(255,255,255,.22);}
.la-qs__info kbd{display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:18px;padding:0 4px;border:1px solid rgba(255,255,255,.1);
  border-radius:3px;font:600 10px var(--la-mono);color:rgba(255,255,255,.3);
  background:rgba(255,255,255,.03);margin:0 2px;}

/* ---------- EXAMPLE CHIPS ---------- */
.la-qs__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:18px;
  opacity:0;transform:translateY(12px);
  transition:transform .4s cubic-bezier(.2,.9,.3,1) .15s,opacity .35s .15s;}
.la-qs.is-open .la-qs__chips{opacity:1;transform:translateY(0);}
.la-qs__chip-group{display:inline-flex;align-items:center;gap:5px;}
.la-qs__chip-label{font:700 9px var(--la-mono);letter-spacing:.06em;text-transform:uppercase;
  padding:2px 8px;border-radius:4px;line-height:1.5;white-space:nowrap;
  border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.3);}
.la-qs__chip{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.55);cursor:pointer;font:600 11.5px var(--la-mono);
  padding:4px 12px;border-radius:7px;transition:.18s;white-space:nowrap;}
.la-qs__chip:hover{background:rgba(255,255,255,.12);color:#fff;
  border-color:rgba(255,255,255,.25);}

/* ---------- DIVIDER ---------- */
.la-qs__sep{border:0;border-top:1px solid rgba(255,255,255,.06);margin:0 0 14px;}

/* ---------- HOT TOOLS (row 1: 2 wide cards, row 2: 4 narrow cards) ---------- */
.la-qs__tools-head{text-align:center;margin-bottom:10px;
  font:600 10px var(--la-mono);letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.22);}
.la-qs__tools{display:grid;gap:10px;
  opacity:0;transform:translateY(14px);
  transition:transform .45s cubic-bezier(.2,.9,.3,1) .22s,opacity .4s .22s;}
.la-qs.is-open .la-qs__tools{opacity:1;transform:translateY(0);}
/* row 1: 2 wide */
.la-qs__tools--wide{grid-template-columns:1fr 1fr;}
/* row 2: 4 narrow */
.la-qs__tools--narrow{grid-template-columns:repeat(4,1fr);margin-top:10px;}

/* wide card (with image) */
.la-qs__toolcard{position:relative;display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.08);border-radius:14px;
  background:rgba(255,255,255,.03);
  text-decoration:none;transition:.3s cubic-bezier(.2,.9,.3,1);}
.la-qs__toolcard:hover{border-color:rgba(255,255,255,.16);
  transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.3);}
/* image: fixed height, clipped by card border-radius */
.la-qs__toolcard-img{width:100%;height:200px;object-fit:cover;
  display:block;opacity:.85;transition:opacity .3s;
  border-radius:14px 14px 0 0;}
.la-qs__toolcard:hover .la-qs__toolcard-img{opacity:1;}
/* info row below image — never overlapped */
.la-qs__toolcard-info{display:flex;align-items:center;gap:10px;padding:10px 14px;}
.la-qs__toolcard-ic{width:34px;height:34px;border-radius:9px;flex-shrink:0;
  display:grid;place-items:center;overflow:hidden;}
.la-qs__toolcard-ic img{width:100%;height:100%;object-fit:contain;}
.la-qs__toolcard-txt{min-width:0;flex:1;}
.la-qs__toolcard-name{font:700 13px var(--la-font);color:#fff;display:block;}
.la-qs__toolcard-desc{font:400 11px/1.4 var(--la-font);color:rgba(255,255,255,.4);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;margin-top:2px;}
.la-qs__toolcard-go{position:absolute;top:10px;right:10px;width:26px;height:26px;
  border-radius:50%;background:rgba(0,0,0,.35);display:grid;place-items:center;
  color:rgba(255,255,255,.6);font-size:11px;opacity:0;
  transition:opacity .2s,background .2s;backdrop-filter:blur(4px);}
.la-qs__toolcard:hover .la-qs__toolcard-go{opacity:1;}
.la-qs__toolcard-go:hover{background:rgba(0,0,0,.55);color:#fff;}

/* narrow card (image + name label) */
.la-qs__toolmini{position:relative;display:block;
  border:1px solid rgba(255,255,255,.08);border-radius:12px;
  background:rgba(255,255,255,.03);text-decoration:none;
  transition:.25s cubic-bezier(.2,.9,.3,1);overflow:hidden;}
.la-qs__toolmini:hover{border-color:rgba(255,255,255,.16);
  transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25);
  background:rgba(255,255,255,.06);}
.la-qs__toolmini-img{width:100%;height:200px;object-fit:cover;display:block;
  opacity:.85;transition:opacity .3s;}
.la-qs__toolmini:hover .la-qs__toolmini-img{opacity:1;}
.la-qs__toolmini-label{display:flex;align-items:center;gap:8px;padding:8px 10px;}
.la-qs__toolmini-ic{width:34px;height:34px;border-radius:6px;flex-shrink:0;overflow:hidden;}
.la-qs__toolmini-ic img{width:100%;height:100%;object-fit:contain;}
.la-qs__toolmini-name{font:700 12px var(--la-font);color:#fff;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:768px){
  .la-qs{padding:0 14px;}
  .la-qs__tabs{grid-template-columns:repeat(2,auto);gap:4px;}
  .la-qs__tab{padding:6px 12px;font-size:11px;}
  .la-qs__tab span.la-qs__tab-label{display:none;}
  .la-qs__go span{display:none;}.la-qs__go{padding:11px 16px;}
  .la-qs__tools--wide{grid-template-columns:1fr;}
  .la-qs__tools--narrow{grid-template-columns:1fr 1fr;}
}

/* ---------- REDUCED MOTION ---------- */
@media(prefers-reduced-motion:reduce){
  .la-qs,.la-qs__body,.la-qs__chips,.la-qs__tools,.la-qs__close,.la-qs__glow{
    transition:none!important;}
}
