/* ============================================================
 * LncACTdb 4.0 — ceFunction tool (page-specific)
 * Loaded after tools/lncact-tools.css. Self-contained: reuses the
 * Expression dual-pick pattern + Function pathway pickers, but does
 * NOT depend on expression.css / function.css (no shared edits).
 * Fuses: 3 expr/interaction maps (top) + pathway-score map &
 * score-vs-X correlation scatter (bottom).
 * ============================================================ */

/* ---- top: 3 UMAP/tSNE maps (lnc expr / mRNA expr / ceRNA −log10p) ---- */
.la-fc-maps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.la-fc-map{border:1px solid var(--la-line);border-radius:12px;overflow:hidden;background:#fff;}
.la-fc-map__t{font:700 12.5px var(--la-font);color:var(--la-ink);padding:9px 12px;
  border-bottom:1px solid var(--la-line-2);border-left:3px solid var(--c,var(--la-primary));
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.la-fc-map__c{height:260px;}

/* ---- bottom: pathway score map (left) + score-vs-X scatter (right) ---- */
.la-fc-fnrow{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
.la-fc-fnmap{border:1px solid var(--la-line);border-radius:12px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;}
.la-fc-fnmap__t{font:700 12.5px var(--la-font);color:var(--la-ink);padding:9px 12px;
  border-bottom:1px solid var(--la-line-2);border-left:3px solid var(--la-primary);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.la-fc-fnmap__c{flex:1;height:320px;min-height:320px;}

.la-fc-corr{display:flex;flex-direction:column;border:1px solid var(--la-line);
  border-radius:12px;overflow:hidden;background:#fff;}
.la-fc-corr__hd{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  padding:8px 12px;border-bottom:1px solid var(--la-line-2);min-height:24px;}
.la-fc-corr__c{flex:1;height:320px;min-height:320px;min-width:0;}

/* the X-axis variable switch (score vs lnc / mRNA / −log10p) */
.la-fc-xseg{display:inline-flex;border:1px solid var(--la-line);border-radius:9px;overflow:hidden;}
.la-fc-xseg button{border:0;background:var(--la-bg-soft);cursor:pointer;
  font:600 12px var(--la-font);color:var(--la-muted);padding:5px 11px;transition:.15s;
  display:inline-flex;align-items:center;gap:6px;}
.la-fc-xseg button+button{border-left:1px solid var(--la-line);}
.la-fc-xseg button:hover{color:var(--la-primary-d);}
.la-fc-xseg button.on{background:var(--la-primary);color:#fff;}
.la-fc-xseg button .dot{width:8px;height:8px;border-radius:50%;display:inline-block;}

/* Pearson-r + p chips */
.la-fc-corr__r{display:inline-flex;align-items:center;gap:6px;}
.la-fc-r{font:600 12px var(--la-mono);padding:3px 10px;border-radius:999px;}
.la-fc-r--pos{color:#047857;background:rgba(16,185,129,.12);}
.la-fc-r--neg{color:#b91c1c;background:rgba(239,68,68,.12);}
.la-fc-r--na{color:var(--la-muted);background:var(--la-bg-tint);}
.la-fc-pv{font:600 11px var(--la-mono);padding:2px 9px;border-radius:999px;
  color:var(--la-primary-d);background:var(--la-bg-tint);}

/* Pearson / Spearman 2-segment toggle (pushed to the right) */
.la-fc-mtog{display:inline-flex;margin-left:auto;border:1px solid var(--la-line);
  border-radius:8px;overflow:hidden;}
.la-fc-mtog button{font:600 12px var(--la-font);color:var(--la-muted);
  background:var(--la-bg-soft);border:0;padding:5px 11px;cursor:pointer;transition:.15s;}
.la-fc-mtog button+button{border-left:1px solid var(--la-line);}
.la-fc-mtog button:hover{color:var(--la-primary-d);}
.la-fc-mtog button.on{background:var(--la-primary);color:#fff;}

/* embedding toggle (UMAP/tSNE) in the maps header */
.la-dt-embtog button{font:600 12px var(--la-font);color:var(--la-muted);background:var(--la-bg-soft);
  border:1px solid var(--la-line);border-radius:8px;padding:5px 12px;cursor:pointer;margin-left:6px;transition:.15s;}
.la-dt-embtog button.on{background:var(--la-primary);color:#fff;border-color:var(--la-primary);}

/* point-size slider */
.la-symslider{display:inline-flex;align-items:center;gap:8px;color:var(--la-muted);
  background:var(--la-bg-soft);border:1px solid var(--la-line);border-radius:10px;padding:6px 12px;}
.la-symslider i{color:var(--la-primary);opacity:.75;font-size:11px;}
.la-symslider input[type=range]{width:92px;accent-color:var(--la-primary);cursor:pointer;}

/* ============================================================
 * dual-pick dataset selector (type + value) — same as Expression
 * (self-contained copy; this page does not load expression.css)
 * ============================================================ */
.la-dualpick{display:grid;grid-template-columns:128px 1fr;gap:8px;}
.la-dualpick .ts-control{min-height:26px;}

/* coloured type-select tinted by current category (data-cat on .ts-wrapper) */
.la-dualpick__type[data-cat] .ts-control{font-weight:700;border-width:1.5px;}
.la-dualpick__type[data-cat="0"] .ts-control{color:var(--la-primary-d);background:var(--la-bg-tint);border-color:var(--la-line);}
.la-dualpick__type[data-cat="T"] .ts-control{color:#0e7490;background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.45);}
.la-dualpick__type[data-cat="s"] .ts-control{color:#6d28d9;background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.45);}
.la-dualpick__type[data-cat="C"] .ts-control{color:#b45309;background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.5);}
.la-dualpick__type[data-cat="O"] .ts-control{color:#047857;background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.45);}
/* coloured dropdown option rows for the type select */
.la-typopt{font-weight:600;padding:2px 0;}
.la-typopt--dsT{color:#0e7490;} .la-typopt--dss{color:#6d28d9;}
.la-typopt--dsC{color:#b45309;} .la-typopt--dsO{color:#047857;}
.la-typitem{font-weight:700;}

/* dataset value dropdown — wider floating panel + rich rows */
.la-dualpick__val--ds .ts-dropdown{width:420px;}
.la-dualpick__val--ds .ts-dropdown .option{align-items:flex-start;}
.la-opt--ds{display:flex;}
.la-ds-name{flex:0 1 auto;min-width:0;font-weight:700;color:var(--la-ink-2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.la-ds-meta{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;}
.la-ds-cond{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:600 10px var(--la-mono);text-transform:uppercase;letter-spacing:.03em;
  padding:2px 7px;border-radius:5px;color:#b45309;background:rgba(245,158,11,.14);}
.la-ds-cond--norm{color:#047857;background:rgba(16,185,129,.12);}
.la-ds-sp{font:italic 600 11px var(--la-font);color:var(--la-muted);}
.la-ds-cnt{font:600 11px var(--la-mono);color:var(--la-primary-d);
  background:var(--la-bg-tint);border:1px solid var(--la-line);padding:2px 8px;border-radius:999px;white-space:nowrap;}
.la-dualpick__val--ds.single .ts-control{flex-wrap:nowrap;}
.la-dualpick__val--ds.single .ts-control > .item{
  min-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.la-tool-aside{z-index:20;}

/* fixed lnc/mRNA type labels filling the 128px type column */
.la-dualpick__static{display:flex;align-items:center;justify-content:center;
  min-height:26px;padding:0 10px;border-radius:8px;border:1.5px solid;
  font:700 12px var(--la-font);letter-spacing:.02em;white-space:nowrap;}
.la-dualpick__static--lnc{color:var(--la-lnc);background:rgba(124,58,237,.10);border-color:rgba(124,58,237,.45);}
.la-dualpick__static--mrna{color:#047857;background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.45);}

/* lnc/mRNA value-option rows (ce-pairs dropdown) */
.la-opt-name{flex:1 1 auto;}
.ts-dropdown .option{display:flex;align-items:center;}

/* ============================================================
 * Pathway pickers (category + value) — stacked group, like Function
 * ============================================================ */
#fcType,#fcVal{width:100%;}
.la-fc-p2{display:flex;flex-direction:column;gap:8px;}
.la-fc-p2 > *{min-width:0;}
.la-fc-p2 .ts-control{min-height:40px;align-items:center;}
.la-fc-p2 .ts-wrapper.single{position:relative;}
/* right-side dropdown arrow */
.la-fc-p2 .ts-wrapper.single::after{
  content:"";position:absolute;top:50%;right:12px;width:6px;height:6px;
  border-left:2px solid var(--la-muted);border-bottom:2px solid var(--la-muted);
  transform:translateY(-65%) rotate(-45deg);
  transition:transform .2s ease,border-color .2s ease;z-index:3;pointer-events:none;}
.la-fc-p2 .ts-wrapper.single.dropdown-active::after{
  transform:translateY(-35%) rotate(135deg);border-color:var(--la-primary);}
.la-fc-p2 .ts-wrapper.single:hover::after{border-color:var(--la-primary);}
.la-fc-p2 .ts-control{cursor:pointer;flex-wrap:nowrap;overflow:hidden;padding-right:28px;
  transition:background-color .15s ease,border-color .15s ease;}
.la-fc-p2 .ts-control:hover{background-color:var(--la-bg-tint);border-color:rgba(67,56,202,.4);}
.la-fc-p2 .ts-control > .item{flex:0 1 auto;min-width:0;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.la-fc-p2 .ts-wrapper.single .ts-dropdown{width:500px;}
/* clearable pathway value (× left of the arrow) */
.la-fc-clr.has-items .ts-control{padding-right:48px;}
.la-fc-clr:not(.has-items) .clear-button{display:none;}
.la-fc-clr .clear-button{position:absolute;top:50%;right:30px !important;transform:translateY(-50%);
  width:18px;height:18px;display:flex;align-items:center;justify-content:center;
  border:0;background:none;cursor:pointer;color:var(--la-muted);font-size:17px;line-height:1;opacity:.55;z-index:4;}
.la-fc-clr .clear-button:hover{opacity:1;color:var(--la-ink);}

@media(max-width:1100px){
  .la-fc-maps{grid-template-columns:1fr;}
  .la-fc-fnrow{grid-template-columns:1fr;}
  .la-fc-map__c{height:280px;}
}

