/* ============================================================
 * LncACTdb 4.0 — Gene search-result page (full-width, rich)
 * Depends on lncact-tokens.css + lncact-home.css (chrome).
 * ============================================================ */
.la-result{background:
  radial-gradient(1200px 560px at 88% -8%, rgba(6,182,212,.06), transparent 60%),
  radial-gradient(900px 600px at 0% 28%, rgba(124,58,237,.045), transparent 55%),
  linear-gradient(180deg,#ffffff 0%,#f7f9fd 100%);background-attachment:fixed;min-height:100vh;}
.la-rwrap{max-width:1640px;margin:0 auto;padding:0 32px;}   /* near full width */

/* ---------- TITLE BAR (with background, distinct from page) ---------- */
.la-rtitle{position:relative;padding:30px 0 28px;overflow:hidden;
  background:linear-gradient(120deg,#eef1fb 0%,#eafcff 55%,#f3eefe 100%);
  border-bottom:1px solid var(--la-line);}
.la-rtitle::before{content:"";position:absolute;inset:0;opacity:.5;
  background:radial-gradient(700px 200px at 88% 0%,rgba(6,182,212,.12),transparent 60%),
             radial-gradient(600px 200px at 5% 120%,rgba(124,58,237,.1),transparent 55%);}
.la-rtitle__in{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.la-rtitle__eyebrow{font:700 12px var(--la-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--la-primary);margin-bottom:7px;display:inline-flex;align-items:center;gap:7px;}
.la-rtitle__h{font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.02em;color:var(--la-ink);margin:0;}
.la-rtitle__h span{color:var(--la-primary);}

.la-rmain{padding:28px 32px 70px;}

/* ---------- GENE PROFILE PANEL (designed, not a plain bar) ---------- */
.la-gprofile{margin-bottom:24px;}
.la-gp{display:grid;grid-template-columns:1.4fr 2.6fr;gap:0;background:#fff;border:1px solid var(--la-line);
  border-radius:20px;overflow:hidden;box-shadow:var(--la-shadow-sm);}
.la-gp__id{position:relative;padding:28px 30px;color:#fff;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(135deg,var(--la-primary-d),var(--la-primary) 60%,var(--la-cyan-d));}

.la-gp__id::after{content:"";position:absolute;inset:0;opacity:.18;background:radial-gradient(circle at 90% -10%,#fff,transparent 45%);}
.la-gp__idin{position:relative;z-index:2;}
.la-gp__sym{display:flex;align-items:center;gap:13px;}
.la-gp__sym h2{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:0;color:#fff;}
.la-gp__badge{font:700 11px var(--la-mono);letter-spacing:.05em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.34);}
.la-gp__badge.lnc{background:rgba(167,139,250,.34);border-color:rgba(196,181,253,.7);}
.la-gp__badge.mrna{background:rgba(52,211,153,.3);border-color:rgba(110,231,183,.7);}
.la-gp__ids{margin-top:18px;display:flex;flex-direction:column;gap:9px;}
.la-gp__idrow{display:flex;align-items:center;gap:10px;font:500 13.5px var(--la-mono);color:rgba(255,255,255,.86);}
.la-gp__idrow span{color:rgba(255,255,255,.6);width:62px;}
.la-gp__idrow b{color:#fff;font-weight:600;}
.la-gp__links{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap;}
.la-gp__links a{font:600 12.5px var(--la-font);color:#fff;background:rgba(255,255,255,.14);text-decoration: none;
  border:1px solid rgba(255,255,255,.26);padding:7px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:6px;transition:.18s;}
.la-gp__links a:hover{background:#fff;color:var(--la-primary-d);}

/* right side: KPIs + modality distribution strip */
.la-gp__stats {
    padding: 15px 28px;
    display: flex;
    flex-direction: column;
    gap: 0px;
}
.la-gp__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.la-gk{position:relative;padding-left:13px;}
.la-gk::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:3px;background:var(--la-primary);}
.la-gk:nth-child(2)::before{background:var(--la-cyan);}
.la-gk:nth-child(3)::before{background:var(--la-pink);}
.la-gk:nth-child(4)::before{background:var(--la-lnc);}
.la-gk:nth-child(5)::before{background:var(--la-orange);}
.la-gk__n{font-size:26px;font-weight:800;color:var(--la-ink);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;}
.la-gk__l{margin-top:6px;font:600 11.5px var(--la-font);color:var(--la-muted);}
/* modality distribution strip (the "4 data types" with character) */
.la-modstrip__t{font:700 13px var(--la-font);color:var(--la-muted);margin-bottom:5px;    margin-top: 5px;}
.la-modbar{display:flex;height:34px;border-radius:9px;overflow:hidden;gap:2px;background:var(--la-bg-soft);}
.la-modseg{display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;font:700 12px var(--la-font);
  min-width:0;transition:.2s;cursor:default;overflow:hidden;white-space:nowrap;}
.la-modseg i{font-size:11px;opacity:.85;}
.la-modseg--t{background:var(--la-primary);} .la-modseg--s{background:#22d3ee;}
.la-modseg--c{background:var(--la-cyan-d);} .la-modseg--o{background:var(--la-lnc);}
.la-modseg:hover{filter:brightness(1.08);}
.la-modlegend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;margin-bottom:10px;}
.la-modlegend span{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--la-font);color:var(--la-ink-2);}
.la-modlegend i{width:10px;height:10px;border-radius:3px;display:inline-block;}

/* ---------- TABS ---------- */
.la-rtabs{display:flex;gap:6px;margin-bottom:18px;border-bottom:2px solid var(--la-line);}
.la-rtabs button{display:inline-flex;align-items:center;gap:8px;border:0;background:none;cursor:pointer;
  font:600 14.5px var(--la-font);color:var(--la-muted);padding:13px 20px;position:relative;transition:.16s;}
.la-rtabs button span{font:700 11.5px var(--la-mono);background:var(--la-bg-tint);padding:1px 8px;border-radius:999px;color:var(--la-muted);}
.la-rtabs button:hover{color:var(--la-primary);}
.la-rtabs button.active{color:var(--la-primary);}
.la-rtabs button.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--la-primary);}
.la-rtabs button.active span{background:var(--la-primary);color:#fff;}
.la-rpane{display:none;} .la-rpane.active{display:block;animation:laFade .25s ease;}
@keyframes laFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ---------- OVERVIEW ---------- */
.la-ov{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin-bottom:20px;}
.la-ov--3{grid-template-columns:repeat(3,1fr);}
.la-ovcard{background:#fff;border:1px solid var(--la-line);border-radius:16px;padding:20px 22px;box-shadow:var(--la-shadow-sm);}
.la-ovcard__h{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;flex-wrap:wrap;}
.la-ovcard__h h3{font-size:16px;font-weight:700;color:var(--la-ink);margin:0;}
.la-ovcard__sub{display:block;font:500 12px var(--la-mono);color:var(--la-muted);margin-top:3px;max-width:60ch;}
.la-chart{height:300px;width:100%;}
.la-chart--xl{height:400px;}
.la-ovlegend{display:flex;gap:14px;flex-wrap:wrap;}
.la-ovlegend span{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--la-font);color:var(--la-ink-2);cursor:pointer;opacity:1;transition:.15s;}
.la-ovlegend span.off{opacity:.35;}
.la-ovlegend i{width:11px;height:11px;border-radius:50%;display:inline-block;}

/* ---------- FUSED big chart + table ---------- */
.la-fused{display:block;}
/*  black black   */
 .la-bigchart{background:linear-gradient(135deg,#0d1530,#1a1f4d 55%,#0e3a4a);border-radius:18px;
  padding:20px 24px 12px;box-shadow:var(--la-shadow);margin-bottom:18px;position:relative;overflow:hidden;}
.la-bigchart::after{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
  background:radial-gradient(700px 300px at 88% -10%,rgba(6,182,212,.25),transparent 55%),
             radial-gradient(600px 300px at 0% 110%,rgba(124,58,237,.22),transparent 55%);} 
      
/*  white white   */
/* .la-bigchart{background:linear-gradient(135deg,#ffffff,#f7f9fd 58%,#eef4fb);border:1px solid var(--la-line);
  border-radius:18px;padding:20px 24px 12px;box-shadow:var(--la-shadow-sm);margin-bottom:18px;position:relative;overflow:hidden;}
.la-bigchart::after{content:"";position:absolute;inset:0;opacity:.6;pointer-events:none;
  background:radial-gradient(700px 300px at 90% -20%,rgba(6,182,212,.10),transparent 55%),
             radial-gradient(600px 300px at -5% 120%,rgba(124,58,237,.08),transparent 55%);} */
             
             
.la-bigchart__h{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px;}

/*  black black   */
 .la-bigchart__h h3{font-size:18px;font-weight:700;color:#fff;margin:0;}
.la-bigchart__sub{display:block;font:500 12.5px var(--la-mono);color:rgba(255,255,255,.62);margin-top:4px;max-width:70ch;}
.la-bigchart__legend{display:flex;gap:14px;flex-wrap:wrap;} 

/*  white white   */
/* .la-bigchart__h h3{font-size:18px;font-weight:700;color:var(--la-ink);margin:0;}
.la-bigchart__sub{display:block;font:500 12.5px var(--la-mono);color:var(--la-muted);margin-top:4px;max-width:70ch;}
.la-bigchart__legend span{display:inline-flex;align-items:center;gap:7px;font:600 12.5px var(--la-font);color:var(--la-ink-2);cursor:pointer;transition:.15s;user-select:none;}

 */
.la-bigchart__legend span{display:inline-flex;align-items:center;gap:7px;font:600 12.5px var(--la-font);color:rgba(255,255,255,.85);cursor:pointer;transition:.15s;user-select:none;}
.la-bigchart__legend span.off{opacity:.32;}
.la-bigchart__legend i{width:12px;height:12px;border-radius:50%;display:inline-block;}
.la-bigchart__plot{position:relative;z-index:2;height:460px;width:100%;}

.la-netctrl{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--la-font);color:var(--la-muted);}
.la-mini-select{border:1px solid var(--la-line);border-radius:8px;padding:6px 12px;font:600 13px var(--la-font);
  color:var(--la-ink);background:#fff;cursor:pointer;outline:none;}
.la-mini-select:focus{border-color:var(--la-primary);box-shadow:var(--la-ring);}

/* ---------- DATASETS TABLE ---------- */
.la-dtbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.la-dtbar__info{font-size:14px;color:var(--la-muted);} .la-dtbar__info b{color:var(--la-ink);}
.la-dtbar__active{font:600 12.5px var(--la-font);color:#fff;background:var(--la-primary);
  padding:6px 13px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.la-dtbar__active::after{content:"✕";font-size:11px;opacity:.85;}
.la-tablewrap{background:#fff;border:1px solid var(--la-line);border-radius:16px;padding:16px 18px 18px;box-shadow:var(--la-shadow-sm);}

/* badges / cells */
.la-badge{font:600 12px var(--la-mono);padding:3px 9px;border-radius:999px;white-space:nowrap;display:inline-block;}
.la-badge--t{background:rgba(67,56,202,.1);color:var(--la-primary);}
.la-badge--c{background:rgba(14,116,144,.12);color:var(--la-cyan-d);}
.la-badge--o{background:rgba(124,58,237,.1);color:var(--la-lnc);}
.la-badge--s{background:rgba(34,211,238,.16);color:#0e7490;}
.la-badge--lnc{background:rgba(124,58,237,.1);color:var(--la-lnc);}
.la-badge--mrna{background:rgba(16,185,129,.12);color:#047857;}
.la-badge--gene{background:rgba(16,185,129,.12);color:#047857;}
.la-go-link{color:var(--la-primary);font-weight:600;font-size:12px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;
  background:var(--la-bg-tint);padding:5px 11px;border-radius:8px;transition:.16s;}
.la-go-link:hover{background:var(--la-primary);color:#fff;}
.la-trunc{max-width:200px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;cursor:default;}
.la-mirs{font:500 12px var(--la-mono);color:var(--la-muted);max-width:650px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;}
.la-num{font-weight:700;color:var(--la-ink);font-variant-numeric:tabular-nums;}

/* row highlight when linked from chart */
#dsTable tbody tr.la-row-hl,
#dsTable tbody tr.la-row-hl:hover{
  background:rgba(245,158,11,.18)!important;
  box-shadow:inset 4px 0 0 var(--la-mir)!important;
  animation:laRowFlash 2.6s ease-out;}
@keyframes laRowFlash{0%,16%{background:rgba(245,158,11,.42);}100%{background:rgba(245,158,11,.10);}}


/* empty state — keep above footer */
.la-empty{text-align:center;padding:70px 20px;min-height:100vh;}
.la-empty i{font-size:42px;color:var(--la-line);}
.la-empty h3{font-size:22px;font-weight:700;color:var(--la-ink);margin:18px 0 8px;}
.la-empty p{color:var(--la-muted);} .la-empty a{color:var(--la-primary);font-weight:600;}

@media(max-width:1200px){
  .la-gp{grid-template-columns:1fr;}
  .la-ov,.la-ov--3{grid-template-columns:1fr;}
  .la-gp__kpis{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:640px){ .la-gp__kpis{grid-template-columns:repeat(2,1fr);} .la-rwrap,.la-rmain{padding-left:16px;padding-right:16px;} }

.la-gp__stats{justify-content:space-between;}     /* 让内容上下铺满,消掉底部空白 */
.la-gphl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.la-gphl__i{display:flex;flex-direction:column;gap:3px;background:var(--la-bg-soft);
  border:1px solid var(--la-line-2);border-radius:11px;padding:12px 14px;min-width:0;}
.la-gphl__k{font:600 12px var(--la-font);letter-spacing:.05em;color:var(--la-muted);}
.la-gphl__v{font-size:16px;font-weight:700;color:var(--la-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.la-gphl__m{font:600 14px var(--la-font);color:var(--la-primary);}
@media(max-width:640px){.la-gphl{grid-template-columns:1fr;}}


.la-mirs-cell{display:flex;align-items:center;gap:10px;justify-content:space-between;}
.la-mir-dl{flex:none;border:1px solid var(--la-line);background:var(--la-bg-tint);cursor:pointer;
  font:600 11.5px var(--la-font);color:var(--la-primary-d);padding:4px 10px;border-radius:8px;
  display:inline-flex;align-items:center;gap:5px;transition:.15s;}
.la-mir-dl:hover{background:var(--la-primary);color:#fff;border-color:var(--la-primary);}


/* prominent ceRNA-count cell in datasets table */
.la-cernacount{display:inline-block;min-width:48px;text-align:center;font:800 13px var(--la-mono);
  color:var(--la-bg-tint);background:var(--la-primary-d);border:1px solid #c7d2fe;
  border-radius:7px;padding:3px 10px;font-variant-numeric:tabular-nums;}
  
  .la-mono-cell{font:500 12px var(--la-font);color:var(--la-ink-2);font-style: italic;}

.la-bigchart__ctrls{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.la-bigchart__ctrls button{border:1px solid var(--la-line);background:#fff;cursor:pointer;
  font:600 11.5px var(--la-font);color:var(--la-ink-2);padding:5px 11px;border-radius:8px;transition:.15s;}
.la-bigchart__ctrls button:hover{border-color:var(--la-primary);color:var(--la-primary);}
.la-bigchart__ctrls button.on{background:var(--la-bg-tint);border-color:#c7d2fe;color:var(--la-primary-d);}
  /* tippy tooltips: cap width & force-wrap long comma-lists (e.g. cell lines) */
.tippy-box{max-width:320px!important;}
.tippy-content{white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
  
/* ---------- data-source accession chips (shared) ---------- */
.la-src{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;max-width:170px;}
.la-src__line{display:inline-flex;flex-wrap:nowrap;gap:5px;overflow:hidden;white-space:nowrap;}

.la-src--row{flex-wrap:nowrap;overflow:hidden;}

.la-src__line .la-src-chip{flex:none;}
.la-src--cloud{flex-wrap:wrap;max-width:none;max-height:128px;overflow:auto;padding:2px;}
.la-src-more{order:2;}   /* 计数小徽章放右侧，先看到号再看到总数 */

.la-src-chip{font:600 11.5px var(--la-mono);padding:2px 8px;border-radius:7px;white-space:nowrap;
  text-decoration:none;border:1px solid transparent;transition:.15s;}
a.la-src-chip:hover{filter:brightness(.96);text-decoration:none;}
.la-src-chip--geo{background:rgba(67,56,202,.10);color:var(--la-primary);border-color:rgba(67,56,202,.16);}
.la-src-chip--ae{background:rgba(6,182,212,.12);color:var(--la-cyan-d);border-color:rgba(6,182,212,.20);}
.la-src-chip--tcga{background:rgba(124,58,237,.10);color:var(--la-lnc);border-color:rgba(124,58,237,.18);}
.la-src-chip--plain{background:var(--la-bg-soft);color:var(--la-muted);border-color:var(--la-line);
  cursor:default;font-style:italic;}
.la-src-more{border:1px dashed var(--la-line);background:#fff;cursor:pointer;color:var(--la-primary-d);
  font:700 11px var(--la-font);padding:2px 8px;border-radius:7px;transition:.15s;white-space:nowrap;}
.la-src-more:hover{background:var(--la-primary);color:#fff;border-color:var(--la-primary);border-style:solid;}
.la-srcpop{position:fixed;z-index:9999;background:#fff;border:1px solid var(--la-line);border-radius:12px;
  box-shadow:0 18px 44px rgba(11,20,55,.22);padding:12px 14px;animation:laFade .14s ease;}
.la-srcpop__h{font:700 11px var(--la-mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--la-muted);margin-bottom:9px;}
.la-srcpop__body{display:flex;flex-wrap:wrap;gap:6px;max-height:320px;overflow:auto;}

/* ---------- PubMed PMID chips (shared) ---------- */
.la-pmid{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;vertical-align:middle;}
.la-pmid--cloud{flex-wrap:wrap;max-width:none;max-height:120px;overflow:auto;}
.la-pmid-chip{font:600 12px var(--la-mono);color:var(--la-cyan-d);text-decoration:none;
  background:rgba(6,182,212,.10);border:1px solid rgba(6,182,212,.20);padding:2px 9px;border-radius:7px;
  display:inline-flex;align-items:center;gap:5px;transition:.15s;}
.la-pmid-chip::before{content:"\f02d";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;opacity:.7;}
a.la-pmid-chip:hover{background:var(--la-cyan-d);color:#fff;}
.la-pmid-more{font:700 11px var(--la-font);color:var(--la-primary-d);background:var(--la-bg-tint);
  border:1px dashed var(--la-line);padding:2px 8px;border-radius:7px;text-decoration:none;white-space:nowrap;transition:.15s;}
.la-pmid-more:hover{background:var(--la-primary);color:#fff;border-style:solid;border-color:var(--la-primary);}

  /* PubMed 表格单元格：图标 + 数量（与 Source chip 同款高度，矮，不撑行高） */
.la-pmid-cell{display:inline-flex;align-items:center;gap:5px;text-decoration:none;white-space:nowrap;line-height:1;
  background:rgba(6,182,212,.10);border:1px solid rgba(6,182,212,.20);padding:2px 8px;border-radius:7px;transition:.15s;}
.la-pmid-cell:hover{border-color:var(--la-cyan-d);background:rgba(6,182,212,.18);}
.la-pmid-cell__ic{font-size:11px;color:var(--la-cyan-d);flex:none;}
.la-pmid-cell__n{font:700 11.5px var(--la-mono);color:var(--la-cyan-d);}
  
/* back buttons removed site-wide (user request round-21) */
.la-rtitle__back, .la-backchip { display:none !important; }

.la-modlegend span b{
  margin-left:2px;
  font-weight:800;
  color:var(--la-ink);
  font-variant-numeric:tabular-nums;
}

.la-modlegend span.is-empty{
  opacity:.35;
}
/* highlighted numeric cells in datasets table */
.la-dt-num{
  display:inline-block;
  min-width:46px;
  text-align:center;
  font:800 12.5px var(--la-mono);
  font-variant-numeric:tabular-nums;
  border-radius:7px;
  padding:3px 9px;
  border:1px solid transparent;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.42);
}

.la-dt-num--samples{
  background:rgba(67,56,202,.10);
  color:var(--la-primary);
  border-color:rgba(67,56,202,.18);
}

.la-dt-num--total{
  background:rgba(6,182,212,.12);
  color:var(--la-cyan-d);
  border-color:rgba(6,182,212,.22);
}

.la-dt-num--coding{
  background:rgba(16,185,129,.12);
  color:#047857;
  border-color:rgba(16,185,129,.20);
}

.la-dt-num--lnc{
  background:rgba(124,58,237,.11);
  color:var(--la-lnc);
  border-color:rgba(124,58,237,.20);
}

.la-dt-num--pseudo{
  background:rgba(245,158,11,.14);
  color:#b45309;
  border-color:rgba(245,158,11,.24);
}

.la-dt-num--genes{
  background:var(--la-bg-soft);
  color:var(--la-ink-2);
  border-color:var(--la-line);
}


/* species SVG cell in datasets table */
.la-species-cell{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:28px;
  vertical-align:middle;
}

.la-species-cell img{
  width:24px;
  height:24px;
  flex:none;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 2px 4px rgba(11,20,55,.12));
}

.la-species-cell--text{
  width:auto;
  height:auto;
  font:600 12px var(--la-font);
  color:var(--la-muted);
}


