/* =====================================================================
   Gorkeu Funding Rate Tarayıcı — funding.css (mobile-first)
   Tasarım token'ları /rsi/ + /algo/ + /onchain/ pattern ile uyumlu.
   ===================================================================== */

:root{
  --wh-gold:#FCD34D; --wh-gold2:#F59E0B;
  --wh-border:rgba(255,255,255,.07);
  --wh-border-2:rgba(255,255,255,.09);
  --wh-text:#94a3b8;
  --wh-muted:#475569;
  --wh-card:linear-gradient(180deg,rgba(21,21,24,.97),rgba(15,15,17,.97));

  --fnd-bg:#070709;
  --fnd-surface:rgba(255,255,255,.03);
  --fnd-surface-2:rgba(255,255,255,.05);
  --fnd-border:rgba(255,255,255,.07);
  --fnd-border-hi:rgba(255,255,255,.12);

  --fnd-text-1:#f1f5f9;
  --fnd-text-2:#e2e8f0;
  --fnd-text-3:#94a3b8;
  --fnd-text-4:#64748b;
  --fnd-text-5:#475569;

  --fnd-g:#22c55e; --fnd-g2:#4ade80;
  --fnd-r:#ef4444; --fnd-r2:#f87171;
  --fnd-amber:#fbbf24;
  --fnd-purple:#a78bfa;
  --fnd-cyan:#38bdf8;

  --fnd-row-pad:.55rem;
  --fnd-row-fs:.78rem;
}

/* === Layout === */
.fnd-page{ min-height:100vh; padding-bottom:4rem; color:var(--fnd-text-2); }
.fnd-wrap{ max-width:1440px; margin:0 auto; padding:1rem .85rem 2rem; display:flex; flex-direction:column; gap:.85rem; }
@media(min-width:640px){ .fnd-wrap{ padding:1.25rem 1rem 3rem; } }

/* === MINIMAL TITLE (hero) === */
.fnd-minihead{
  display:block;
  padding:.15rem 0 .4rem;
}
.fnd-title-row{
  display:flex; align-items:center; gap:.85rem;
}
.fnd-title-logo{
  width:48px; height:48px; flex:0 0 48px;
  object-fit:contain;
  filter:drop-shadow(0 4px 14px rgba(252,211,77,.25));
  transition:transform .25s ease;
}
.fnd-title-logo:hover{ transform:scale(1.06) rotate(-3deg); }
.fnd-title-stack{ display:flex; flex-direction:column; min-width:0; gap:.15rem; }
.fnd-title{
  font-size:clamp(1.15rem,2.8vw,1.55rem);
  font-weight:900; color:var(--fnd-text-1); line-height:1.15; margin:0;
  display:inline-flex; align-items:center; gap:.4rem;
}
.fnd-title span{
  background:linear-gradient(135deg,var(--wh-gold),var(--wh-gold2));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.fnd-subtitle{
  display:block; color:var(--fnd-text-4); font-size:.72rem; line-height:1.5;
  margin:0; max-width:760px;
}
.fnd-minihead-right{ display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; }

/* Live pulse dot */
.fnd-live-dot{
  display:inline-block; width:8px; height:8px; border-radius:50%;
  background:#4ade80; animation:fndPulse 1.4s infinite;
  box-shadow:0 0 8px rgba(74,222,128,.55);
  vertical-align:middle;
}
@keyframes fndPulse{ 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.45;transform:scale(.82)} }

/* === Main row (content + side) === */
.fnd-main-row{
  display:grid; grid-template-columns:1fr; gap:.85rem;
}
@media(min-width:1120px){
  .fnd-main-row{ grid-template-columns:minmax(0,1fr) 300px; gap:1rem; align-items:start; }
}
.fnd-main{ min-width:0; display:flex; flex-direction:column; gap:.85rem; }
.fnd-side{ display:flex; flex-direction:column; gap:.7rem; min-width:0; }

/* === FILTER BAR === */
.fnd-filters{
  background:var(--fnd-surface);
  border:1px solid var(--wh-border-2);
  border-radius:.875rem;
  padding:.75rem .9rem;
  display:flex; flex-direction:column; gap:.7rem;
}
.fnd-fr{ display:flex; flex-wrap:wrap; gap:.55rem; align-items:stretch; }
.fnd-fr-top{ align-items:center; }
.fnd-fr-inputs{ display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
@media(min-width:560px){ .fnd-fr-inputs{ grid-template-columns:repeat(3,1fr); } }

.fnd-field{ display:flex; flex-direction:column; gap:.25rem; min-width:0; }
.fnd-field label{
  font-size:.58rem; color:var(--fnd-text-4); font-weight:700;
  text-transform:uppercase; letter-spacing:.04em;
  display:flex; align-items:center; gap:.3rem;
}
.fnd-field label i{ font-size:.62rem; }
.fnd-field input, .fnd-field select{
  min-height:38px;
  background:rgba(5,5,7,.8); border:1px solid var(--fnd-border); color:var(--fnd-text-2);
  border-radius:.45rem; padding:.4rem .65rem; font-size:.78rem; font-family:ui-monospace,SFMono-Regular,monospace;
  outline:none; transition:border-color .15s ease;
  appearance:none;
}
.fnd-field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='%2394a3b8'><path d='M1 1l4 4 4-4'/></svg>");
  background-repeat:no-repeat; background-position:right .55rem center; background-size:.55rem;
  padding-right:1.7rem;
}
.fnd-field input:focus, .fnd-field select:focus{ border-color:rgba(252,211,77,.4); }

/* === QUICK FILTER PANEL (tablo üstü) — fnd-filters ile aynı nötr stil === */
.fnd-quick-panel{
  position:relative;
  display:flex; align-items:center; gap:.85rem;
  padding:.75rem .9rem;
  margin-bottom:.75rem;
  background:var(--fnd-surface);
  border:1px solid var(--wh-border-2);
  border-radius:.875rem;
}
.fnd-quick-panel-head{
  position:relative; z-index:1;
  display:inline-flex; align-items:center; gap:.38rem;
  font-size:.62rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:var(--fnd-text-4);
  padding-right:.75rem; border-right:1px solid rgba(255,255,255,.06);
  white-space:nowrap;
}
.fnd-quick-panel-head i{ color:var(--wh-gold); font-size:.7rem; }
.fnd-quick-panel-list{
  position:relative; z-index:1;
  display:flex; flex-wrap:wrap; gap:.4rem; flex:1 1 auto;
}
.fnd-quick{
  min-height:32px; padding:.38rem .7rem;
  display:inline-flex; align-items:center; gap:.38rem;
  background:rgba(10,10,12,.55);
  border:1px solid rgba(255,255,255,.08);
  color:var(--fnd-text-3); font-size:.72rem; font-weight:700;
  border-radius:.45rem;
  cursor:pointer;
  transition:all .18s ease;
  white-space:nowrap;
  position:relative;
  overflow:hidden;
  flex:0 0 auto;
}
.fnd-quick::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent);
  opacity:0; transition:opacity .2s;
  pointer-events:none;
}
.fnd-quick:hover{
  color:var(--fnd-text-1);
  border-color:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.fnd-quick:hover::after{ opacity:1; }
.fnd-quick i{ font-size:.7rem; }
.fnd-quick-cnt{
  font-size:.58rem; min-width:18px; text-align:center;
  padding:.1rem .4rem;
  background:rgba(0,0,0,.45); color:var(--fnd-text-4);
  border-radius:.28rem; font-weight:700;
  font-variant-numeric:tabular-nums;
}
.fnd-quick-cnt:empty{ display:none; }

/* Funding-specific quick tints */
.fnd-quick.t-pos{ color:#bbf7d0; border-color:rgba(74,222,128,.22); background:rgba(74,222,128,.05); }
.fnd-quick.t-neg{ color:#fecaca; border-color:rgba(248,113,113,.22); background:rgba(239,68,68,.05); }
.fnd-quick.t-ex{ color:#fde68a; border-color:rgba(251,191,36,.22); background:rgba(251,191,36,.05); }
.fnd-quick.t-fav{ color:#fbbf24; border-color:rgba(251,191,36,.22); background:rgba(251,191,36,.04); }

.fnd-quick.active{
  background:linear-gradient(135deg, var(--wh-gold), var(--wh-gold2));
  color:#0a0a0a; border-color:rgba(252,211,77,.8);
  font-weight:800;
  box-shadow:0 4px 18px rgba(252,211,77,.28), inset 0 1px 0 rgba(255,255,255,.35);
}
.fnd-quick.active i,
.fnd-quick.active .fnd-quick-lbl{ color:#0a0a0a; }
.fnd-quick.active .fnd-quick-cnt{
  background:rgba(10,10,12,.45); color:#fde68a;
}

@media(max-width:760px){
  .fnd-quick-panel{ flex-direction:column; align-items:stretch; gap:.55rem; padding:.6rem .7rem; }
  .fnd-quick-panel-head{ border-right:0; padding-right:0; padding-bottom:.4rem; border-bottom:1px solid rgba(255,255,255,.05); }
  .fnd-quick-panel-list{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    justify-content:flex-start;
    margin:0 -.7rem; padding:0 .7rem;
  }
  .fnd-quick-panel-list::-webkit-scrollbar{ display:none; height:0; }
}

/* === CARD === */
.fnd-card{
  background:var(--wh-card);
  border:1px solid var(--wh-border-2);
  border-radius:1rem;
  overflow:hidden;
  position:relative;
}
.fnd-card-hdr{
  display:flex; align-items:center; gap:.7rem; padding:.6rem .95rem;
  border-bottom:1px solid var(--fnd-border); background:rgba(0,0,0,.18);
  flex-wrap:wrap;
}
.fnd-card-title{ display:flex; align-items:center; gap:.45rem; flex:0 0 auto; min-width:0; }
.fnd-card-title i{ color:var(--wh-gold); font-size:.85rem; }
.fnd-card-title > span:nth-child(2){ font-size:.82rem; font-weight:800; color:var(--fnd-text-1); }
.fnd-card-sub{ font-size:.6rem; color:var(--fnd-text-5); font-weight:600; }

/* Table header inline tool selects */
.fnd-card-tools{
  display:flex; align-items:center; gap:.35rem; flex:0 1 auto; min-width:0; flex-wrap:wrap;
}
.fnd-head-sel{
  background:rgba(255,255,255,.04);
  border:1px solid var(--fnd-border);
  color:var(--fnd-text-2);
  padding:.35rem .55rem;
  border-radius:.45rem;
  font-size:.7rem;
  font-weight:600;
  cursor:pointer;
  outline:none;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
  min-height:30px;
  appearance:none;
  -webkit-appearance:none;
  padding-right:1.6rem;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='%23a1a1aa' d='M6 8.5 1.5 4h9z'/></svg>");
  background-repeat:no-repeat;
  background-position:right .45rem center;
  background-size:10px;
}
.fnd-head-sel:hover{ color:var(--fnd-text-1); border-color:rgba(252,211,77,.35); }
.fnd-head-sel:focus{ border-color:var(--wh-gold); color:var(--fnd-text-1); }

/* Table header-right actions */
.fnd-card-head-actions{
  display:flex; align-items:center; gap:.4rem; margin-left:auto; flex:0 1 auto; min-width:0;
}
.fnd-card-head-actions .fnd-search{ max-width:220px; }
@media(max-width:760px){
  .fnd-card-hdr{ flex-wrap:wrap; }
  .fnd-card-tools{ order:3; flex:1 1 100%; justify-content:flex-start; }
  .fnd-card-tools .fnd-head-sel{ flex:1 1 auto; }
  .fnd-card-head-actions{ flex:1 1 100%; margin-left:0; }
  .fnd-card-head-actions .fnd-search{ max-width:none; flex:1; }
}

/* Search */
.fnd-search{
  position:relative; display:flex; align-items:center; gap:.4rem;
  background:rgba(5,5,7,.8); border:1px solid var(--fnd-border);
  border-radius:.5rem; padding:.25rem .6rem;
  flex:1 1 200px; max-width:320px; min-height:34px;
  transition:border-color .15s ease;
}
.fnd-search:focus-within{ border-color:rgba(252,211,77,.4); }
.fnd-search i{ color:var(--fnd-text-4); font-size:.75rem; flex-shrink:0; }
.fnd-search input{
  flex:1; min-width:0; background:transparent; border:0; outline:none;
  color:var(--fnd-text-1); font-size:.75rem;
}
.fnd-search kbd{
  display:inline-block; padding:.1rem .35rem; border:1px solid var(--fnd-border-hi);
  border-radius:.25rem; font-size:.55rem; color:var(--fnd-text-4); background:rgba(0,0,0,.3);
  font-family:ui-monospace,monospace; flex-shrink:0;
}
@media(max-width:640px){ .fnd-search kbd{ display:none; } }

.fnd-icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:.4rem;
  background:rgba(255,255,255,.04); border:1px solid var(--fnd-border);
  color:var(--fnd-text-4); cursor:pointer; transition:all .15s ease;
}
.fnd-icon-btn:hover{ background:rgba(252,211,77,.12); border-color:rgba(252,211,77,.35); color:var(--wh-gold); }
.fnd-icon-btn i{ font-size:.72rem; }

.fnd-card-foot{
  padding:.55rem .95rem; border-top:1px solid var(--fnd-border); background:rgba(0,0,0,.2);
  display:flex; align-items:center; justify-content:space-between; gap:.7rem; flex-wrap:wrap;
}
.fnd-foot-info{ font-size:.62rem; color:var(--fnd-text-5); }
.fnd-foot-meta{ font-size:.66rem; color:var(--fnd-text-4); display:flex; align-items:center; gap:.4rem; font-weight:600; font-variant-numeric:tabular-nums; }
.fnd-foot-meta #fnd-cnt-total{ color:var(--fnd-text-1); font-weight:800; }
.fnd-foot-meta .fnd-dot{ color:var(--fnd-text-5); }

/* === TABLE === */
.fnd-table-card,
.fnd-edu-card{
  position:relative;
  background:var(--fnd-surface);
  border-color:var(--wh-border-2);
}
.fnd-table-card .fnd-card-hdr,
.fnd-edu-card .fnd-card-hdr{ background:rgba(0,0,0,.28); }
.fnd-table-card .fnd-card-foot{ background:rgba(0,0,0,.28); }

/* Gorkeu watermark */
.fnd-table-wrap{ position:relative; width:100%; overflow-x:auto; overflow-y:visible; -webkit-overflow-scrolling:touch; }
.fnd-table-wrap::before{
  content:""; position:absolute; inset:0;
  background:url('/uploads/logo1.png') center 50% no-repeat;
  background-size:260px auto;
  opacity:.045; pointer-events:none; z-index:0;
}
.fnd-table-wrap > *{ position:relative; z-index:1; }
.fnd-table-wrap::-webkit-scrollbar{ height:6px; }
.fnd-table-wrap::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.12); border-radius:3px; }

.fnd-tbl{ width:100%; border-collapse:collapse; font-size:var(--fnd-row-fs); min-width:820px; }
.fnd-tbl thead{ position:sticky; top:0; z-index:5; background:rgba(15,15,17,.98); backdrop-filter:blur(8px); }
.fnd-tbl thead th{
  font-size:.55rem; color:var(--fnd-text-4); text-transform:uppercase; letter-spacing:.05em;
  font-weight:700; padding:.55rem .7rem; text-align:left;
  border-bottom:1px solid var(--fnd-border); white-space:nowrap;
}
.fnd-tbl thead th[data-sort]{ cursor:pointer; user-select:none; }
.fnd-tbl thead th[data-sort]:hover{ color:var(--fnd-text-1); }
.fnd-tbl thead th[data-sort] i{ font-size:.55rem; opacity:.35; margin-left:.25rem; }
.fnd-tbl thead th[data-sort].sort-asc i,
.fnd-tbl thead th[data-sort].sort-desc i{ opacity:1; color:var(--wh-gold); }
.fnd-tbl thead th.th-price,
.fnd-tbl thead th.th-change,
.fnd-tbl thead th.th-rate,
.fnd-tbl thead th.th-next,
.fnd-tbl thead th.th-vol{ text-align:right; }
.fnd-tbl thead th.th-dir{ text-align:center; }
.fnd-tbl thead th.th-act{ text-align:right; }
.fnd-tbl thead th.th-fav{ width:32px; padding-left:.9rem; padding-right:.2rem; }

.fnd-tbl tbody tr{
  border-bottom:1px solid rgba(255,255,255,.04);
  transition:background-color .12s ease;
}
.fnd-tbl tbody tr:last-child{ border-bottom:0; }
.fnd-tbl tbody tr:hover{ background:rgba(252,211,77,.04); }
.fnd-tbl tbody td{ padding:var(--fnd-row-pad) .7rem; vertical-align:middle; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fnd-tbl td.td-price,
.fnd-tbl td.td-change,
.fnd-tbl td.td-rate,
.fnd-tbl td.td-next,
.fnd-tbl td.td-vol{ text-align:right; }
.fnd-tbl td.td-dir{ text-align:center; }
.fnd-tbl td.td-act{ text-align:right; }
.fnd-tbl td.td-fav{ padding-left:.9rem; padding-right:.2rem; }

.fnd-row{ /* base row class (legacy compat) */ }

/* Coin cell */
.fnd-coin-wrap{ display:flex; align-items:center; gap:.55rem; min-width:0; }
.fnd-coin-stack{ display:flex; flex-direction:column; line-height:1.15; min-width:0; }
.fnd-coin-base{ font-weight:800; font-size:calc(var(--fnd-row-fs) + .01rem); color:var(--fnd-text-1); letter-spacing:.01em; }
.fnd-coin-sub{ font-size:.56rem; color:var(--fnd-text-5); text-transform:uppercase; letter-spacing:.04em; }

/* Price / change */
.fnd-price{ color:var(--fnd-text-1); font-weight:700; }
.fnd-chg{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:54px; padding:.15rem .4rem; border-radius:.3rem;
  font-size:.65rem; font-weight:700;
}
.fnd-chg.pos{ color:var(--fnd-g2); background:rgba(34,197,94,.08); }
.fnd-chg.neg{ color:var(--fnd-r2); background:rgba(239,68,68,.08); }

/* Funding rate — big number, tabular, right aligned */
.fnd-rate{
  display:block;
  font-weight:900;
  font-size:calc(var(--fnd-row-fs) + .06rem);
  line-height:1.1;
  color:var(--fnd-text-1);
  font-variant-numeric:tabular-nums;
  text-align:right;
  letter-spacing:.01em;
}
.fnd-rate.pos{ color:var(--fnd-g2); }
.fnd-rate.neg{ color:var(--fnd-r2); }
.fnd-rate.ex{ color:#fde68a; text-shadow:0 0 12px rgba(251,191,36,.3); }

/* Funding rate mini-bar under rate */
.fnd-rate-bar{
  position:relative; height:3px;
  background:rgba(255,255,255,.05);
  border-radius:2px; overflow:hidden;
  margin-top:4px; width:72px; margin-left:auto;
}
.fnd-rate-bar-fill{
  position:absolute; left:0; top:0; bottom:0;
  border-radius:2px; transition:width .3s ease;
}
.fnd-rate-bar-fill.pos{ background:linear-gradient(90deg,var(--fnd-g),var(--fnd-g2)); }
.fnd-rate-bar-fill.neg{ background:linear-gradient(90deg,var(--fnd-r),var(--fnd-r2)); }
.fnd-rate-bar-fill.ex{ background:linear-gradient(90deg,var(--fnd-amber),var(--wh-gold)); }

/* Direction badge — LONG ÖDER / SHORT ÖDER */
.fnd-dir{
  display:inline-flex; align-items:center; gap:.28rem;
  padding:.18rem .55rem; border-radius:.35rem;
  font-size:.58rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  border:1px solid transparent; white-space:nowrap;
}
.fnd-dir i{ font-size:.55rem; }
.fnd-dir.pos{
  background:rgba(74,222,128,.08);
  color:#bbf7d0;
  border-color:rgba(74,222,128,.32);
}
.fnd-dir.neg{
  background:rgba(248,113,113,.08);
  color:#fecaca;
  border-color:rgba(248,113,113,.35);
}
.fnd-dir.ntr{
  background:rgba(255,255,255,.04);
  color:var(--fnd-text-3);
  border-color:rgba(255,255,255,.08);
}

/* Countdown — monospace amber */
.fnd-next{
  display:inline-block;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:calc(var(--fnd-row-fs) - .02rem);
  color:var(--fnd-amber);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  padding:.12rem .38rem;
  background:rgba(251,191,36,.06);
  border:1px solid rgba(251,191,36,.18);
  border-radius:.3rem;
}
.fnd-next.soon{
  color:#fde047;
  background:rgba(251,191,36,.12);
  border-color:rgba(251,191,36,.35);
  animation:fndPulse 1.2s infinite;
}

.fnd-vol{ color:var(--fnd-text-2); font-weight:600; }

/* === FAVORITE STAR / action buttons === */
.fnd-fav-btn i{
  color:rgba(148,163,184,.5);
  transition:color .2s ease, transform .2s ease;
}
.fnd-fav-btn:hover i{ color:#fbbf24; }
.fnd-fav-btn.active i{ color:#fbbf24; text-shadow:0 0 10px rgba(251,191,36,.55); }
.fnd-fav-btn.on,
.fnd-fav-btn.active{ color:var(--wh-gold); background:rgba(252,211,77,.08); border-color:rgba(252,211,77,.3); }
.fnd-alert-btn.on{ color:var(--fnd-r2); background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.3); }
.fnd-open-btn:hover{ color:var(--fnd-cyan); background:rgba(56,189,248,.1); border-color:rgba(56,189,248,.3); }

@keyframes fnd-fav-pop{
  0%{ transform:scale(1) rotate(0deg); }
  30%{ transform:scale(1.55) rotate(-12deg); }
  55%{ transform:scale(.88) rotate(8deg); }
  80%{ transform:scale(1.1) rotate(-3deg); }
  100%{ transform:scale(1) rotate(0deg); }
}
@keyframes fnd-fav-glow{
  0%{ box-shadow:0 0 0 0 rgba(251,191,36,.55); }
  100%{ box-shadow:0 0 0 16px rgba(251,191,36,0); }
}
.fnd-fav-pop i{ animation:fnd-fav-pop .5s cubic-bezier(.17,.89,.32,1.28); }
.fnd-fav-pop{ animation:fnd-fav-glow .55s ease-out; }

/* === Skeleton === */
.fnd-sk{
  display:flex; flex-direction:column; gap:4px;
}
.fnd-sk-box{
  display:block;
  background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.08),rgba(255,255,255,.04));
  background-size:200% 100%;
  animation:fndSk 1.4s ease-in-out infinite;
  border-radius:.25rem; height:10px;
}
@keyframes fndSk{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* === Row flashes === */
.fnd-flash-up{ animation:fnd-flash-up .6s ease-out; }
.fnd-flash-dn{ animation:fnd-flash-dn .6s ease-out; }
@keyframes fnd-flash-up{ 0%{background:rgba(74,222,128,.18)}100%{background:transparent} }
@keyframes fnd-flash-dn{ 0%{background:rgba(248,113,113,.18)}100%{background:transparent} }
.fnd-price-up{ animation:fnd-price-up .6s ease-out; }
.fnd-price-dn{ animation:fnd-price-dn .6s ease-out; }
@keyframes fnd-price-up{ 0%{color:#bbf7d0;text-shadow:0 0 10px rgba(34,197,94,.8)} 100%{color:inherit} }
@keyframes fnd-price-dn{ 0%{color:#fecaca;text-shadow:0 0 10px rgba(248,113,113,.8)} 100%{color:inherit} }

/* === Pager === */
.fnd-pager{ display:flex; align-items:center; gap:.3rem; flex-wrap:wrap; justify-content:flex-end; }
.fnd-pager button, .fnd-pager span.active, .fnd-pager span.dot{
  min-width:32px; height:32px; padding:0 .6rem;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--fnd-surface); border:1px solid var(--fnd-border);
  color:var(--fnd-text-3); font-size:.66rem; font-weight:700;
  border-radius:.35rem; cursor:pointer; transition:all .15s;
}
.fnd-pager span.dot{ border-color:transparent; background:transparent; cursor:default; color:var(--fnd-text-5); }
.fnd-pager button:hover{ border-color:rgba(252,211,77,.45); color:var(--wh-gold); }
.fnd-pager button[disabled]{ opacity:.4; cursor:not-allowed; }
.fnd-pager span.active{ background:linear-gradient(135deg,var(--wh-gold),var(--wh-gold2)); color:#0a0a0a; border-color:transparent; }

/* === Guest veil === */
.fnd-guest-veil{
  position:absolute; left:0; right:0; pointer-events:auto;
  bottom:0;
  top:auto; height:auto;
  z-index:3;
}
.fnd-guest-card{
  position:absolute; left:50%; bottom:1.2rem; transform:translateX(-50%);
  max-width:calc(100% - 1.5rem); width:max-content;
  background:rgba(14,16,22,.94); backdrop-filter:blur(12px);
  border:1px solid rgba(252,211,77,.35); border-radius:.75rem;
  padding:.9rem 1.1rem;
  display:flex; align-items:center; gap:.85rem;
  box-shadow:0 16px 42px rgba(0,0,0,.7);
  z-index:4;
}
.fnd-guest-card > i{ color:var(--wh-gold); font-size:1.1rem; }
.fnd-guest-txt{ font-size:.72rem; color:#e2e8f0; line-height:1.45; max-width:32ch; }
.fnd-guest-txt b{ color:var(--wh-gold); }
.fnd-guest-cta{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.55rem 1.1rem; border-radius:.45rem; font-weight:800; font-size:.72rem;
  background:linear-gradient(135deg,var(--wh-gold),var(--wh-gold2)); color:#0a0a0a;
  text-decoration:none; white-space:nowrap;
  transition:filter .15s ease, transform .15s ease;
}
.fnd-guest-cta:hover{ filter:brightness(1.1); transform:translateY(-1px); }
@media(max-width:560px){
  .fnd-guest-card{ flex-direction:column; text-align:center; padding:.75rem .85rem; bottom:.8rem; }
  .fnd-guest-txt{ font-size:.68rem; }
}

/* === EDU / ACCORDION === */
.fnd-edu-list{ display:flex; flex-direction:column; }
.fnd-edu-item{ border-top:1px solid rgba(255,255,255,.04); }
.fnd-edu-item:first-child{ border-top:0; }
.fnd-edu-toggle{
  width:100%; padding:.8rem .95rem; background:transparent; border:0; cursor:pointer;
  display:flex; align-items:center; gap:.55rem; text-align:left;
  font-size:.78rem; font-weight:700; color:var(--fnd-text-2);
}
.fnd-edu-toggle:hover{ color:var(--fnd-text-1); background:rgba(255,255,255,.02); }
.fnd-edu-icon{ color:var(--wh-gold); width:1rem; text-align:center; font-size:.8rem; }
.fnd-edu-chev{ margin-left:auto; font-size:.6rem; color:var(--fnd-text-5); transition:transform .2s ease; }
.fnd-edu-item.open .fnd-edu-chev{ transform:rotate(180deg); }
.fnd-edu-body{ display:none; padding:0 .95rem .95rem 2.4rem; color:var(--fnd-text-3); font-size:.74rem; line-height:1.65; }
.fnd-edu-body b{ color:var(--fnd-text-1); }
.fnd-edu-item.open .fnd-edu-body{ display:block; }

/* === SIDE PANEL === */
.fnd-sidecard{
  background:var(--fnd-surface);
  border:1px solid var(--wh-border-2);
  border-radius:.875rem;
  overflow:hidden;
}
.fnd-sidecard-hdr{
  display:flex; align-items:center; gap:.45rem;
  padding:.6rem .8rem; border-bottom:1px solid var(--fnd-border);
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent);
  font-size:.6rem;
}
.fnd-sidecard-hdr i{ color:var(--wh-gold); font-size:.75rem; }
.fnd-sidecard-hdr .t{ font-size:.75rem; font-weight:800; color:var(--fnd-text-1); }
.fnd-sidecard-hdr .sub{
  margin-left:auto; font-size:.55rem; color:var(--fnd-text-5);
  background:rgba(255,255,255,.04); padding:.1rem .4rem; border-radius:.2rem; font-weight:600;
}
.fnd-sidelist{ list-style:none; margin:0; padding:0; }
.fnd-sidelist-item{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.55rem;
  align-items:center; padding:.5rem .75rem;
  border-bottom:1px solid rgba(255,255,255,.03);
  text-decoration:none; color:inherit; transition:background .12s;
}
.fnd-sidelist-item:last-child{ border-bottom:0; }
.fnd-sidelist-item:hover{ background:rgba(252,211,77,.04); cursor:pointer; }
.fnd-sidelist-mid{ min-width:0; overflow:hidden; }
.fnd-sidelist-name{ font-size:.78rem; font-weight:800; color:var(--fnd-text-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:.01em; }
.fnd-sidelist-meta{ font-size:.58rem; color:var(--fnd-text-5); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fnd-sidelist-right{ text-align:right; }
.fnd-sidelist-v{
  font-size:.72rem; font-weight:800;
  color:var(--fnd-text-1); font-variant-numeric:tabular-nums;
}
.fnd-sidelist-v.pos{ color:#4ade80; }
.fnd-sidelist-v.neg{ color:#f87171; }
.fnd-sidelist-v.countdown{
  color:var(--fnd-amber);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.02em;
}
.fnd-sidelist-v.extreme{ color:#fde68a; }
.fnd-sidelist-sub{ font-size:.55rem; color:var(--fnd-text-5); margin-top:1px; }
.fnd-sidelist-empty{
  padding:1rem .75rem; text-align:center; font-size:.68rem; color:var(--fnd-text-5);
}

/* === MODAL === */
.fnd-modal-ov[hidden]{ display:none; }
.fnd-modal-ov{
  position:fixed; inset:0; z-index:9999;
  background:rgba(0,0,0,.72); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:1rem;
  animation:fndFade .15s ease-out;
}
@keyframes fndFade{ from{opacity:0} to{opacity:1} }
.fnd-modal{
  background:#0e1015; border:1px solid var(--fnd-border-hi);
  border-radius:.9rem; max-width:720px; width:100%;
  max-height:94vh; overflow:hidden; display:flex; flex-direction:column;
  box-shadow:0 24px 70px rgba(0,0,0,.6);
}
.fnd-modal-sm{ max-width:460px; }
.fnd-modal-hdr{
  padding:.85rem 1rem; border-bottom:1px solid var(--fnd-border);
  background:linear-gradient(180deg,rgba(252,211,77,.06),transparent);
  display:flex; align-items:center; gap:.55rem; flex-shrink:0;
}
.fnd-modal-t{ display:flex; align-items:center; gap:.45rem; font-size:.88rem; font-weight:800; color:var(--fnd-text-1); }
.fnd-modal-t i{ color:var(--wh-gold); }
.fnd-modal-x{
  margin-left:auto; background:rgba(255,255,255,.06); border:0; color:#fff;
  width:32px; height:32px; border-radius:50%; cursor:pointer;
}
.fnd-modal-x:hover{ background:rgba(239,68,68,.2); color:#fca5a5; }
.fnd-modal-tabs{
  display:flex; gap:.25rem; padding:.5rem .5rem 0;
  border-bottom:1px solid var(--fnd-border);
  overflow-x:auto; flex-shrink:0;
}
.fnd-modal-tabs::-webkit-scrollbar{ display:none; }
.fnd-mtab{
  background:transparent; border:0; border-bottom:2px solid transparent;
  color:var(--fnd-text-4); font-size:.72rem; font-weight:700;
  padding:.55rem .95rem; display:inline-flex; align-items:center; gap:.35rem;
  cursor:pointer; white-space:nowrap; border-radius:.3rem .3rem 0 0;
  transition:color .15s, background .15s;
  margin-bottom:-1px;
}
.fnd-mtab:hover{ color:var(--fnd-text-1); background:rgba(255,255,255,.04); }
.fnd-mtab.active{ color:var(--wh-gold); border-bottom-color:var(--wh-gold); background:rgba(252,211,77,.06); }
.fnd-modal-body{ padding:1rem; flex:1; overflow-y:auto; min-height:200px; }
.fnd-modal-foot{
  padding:.75rem 1rem; border-top:1px solid var(--fnd-border);
  display:flex; justify-content:flex-end; gap:.5rem; flex-shrink:0;
  background:rgba(0,0,0,.18);
}
.fnd-mpane{ display:none; }
.fnd-mpane.active{ display:block; animation:fndFade .15s ease-out; }
.fnd-mrow{ display:flex; align-items:center; justify-content:space-between; gap:.85rem; padding:.55rem 0; border-bottom:1px solid rgba(255,255,255,.04); flex-wrap:wrap; }
.fnd-mrow:last-child{ border-bottom:0; }
.fnd-mrow label{ font-size:.7rem; font-weight:700; color:var(--fnd-text-2); }
.fnd-mrow small{ display:block; font-size:.6rem; color:var(--fnd-text-5); margin-top:.15rem; }
.fnd-mrow input, .fnd-mrow select{
  min-height:32px; background:var(--fnd-surface-2); border:1px solid var(--fnd-border);
  color:var(--fnd-text-1); font-size:.72rem; padding:.3rem .55rem;
  border-radius:.4rem; outline:none; font-family:ui-monospace,monospace;
  max-width:180px;
}
.fnd-mrow input:focus, .fnd-mrow select:focus{ border-color:rgba(252,211,77,.4); }
.fnd-mrow-toggle > div{ flex:1; }
.fnd-mgrid2{ display:grid; grid-template-columns:1fr; gap:.4rem; }
@media(min-width:520px){ .fnd-mgrid2{ grid-template-columns:1fr 1fr; } .fnd-mgrid2 .fnd-mrow{ border-bottom:0; } }

.fnd-switch{ position:relative; width:38px; height:22px; flex-shrink:0; display:inline-block; }
.fnd-switch input{ opacity:0; width:0; height:0; }
.fnd-switch span{
  position:absolute; inset:0; background:rgba(255,255,255,.1); border-radius:20px;
  cursor:pointer; transition:.2s;
}
.fnd-switch span:before{
  content:''; position:absolute; width:16px; height:16px; left:3px; top:3px;
  background:#fff; border-radius:50%; transition:.2s;
}
.fnd-switch input:checked + span{ background:rgba(252,211,77,.8); }
.fnd-switch input:checked + span:before{ transform:translateX(16px); }

.fnd-btn{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.5rem 1rem; border:1px solid var(--fnd-border);
  background:var(--fnd-surface-2); color:var(--fnd-text-2);
  font-size:.72rem; font-weight:700; border-radius:.45rem;
  cursor:pointer; text-decoration:none;
  transition:all .15s;
}
.fnd-btn:hover{ background:rgba(255,255,255,.08); color:var(--fnd-text-1); }
.fnd-btn.ghost{ background:transparent; }
.fnd-btn.gold{
  background:linear-gradient(135deg,var(--wh-gold),var(--wh-gold2));
  color:#0a0a0a; border-color:transparent; font-weight:800;
}
.fnd-btn.gold:hover{ filter:brightness(1.08); color:#0a0a0a; }

/* Alert modal direction pickers */
.fnd-alert-dirs{ display:flex; gap:.3rem; flex-wrap:wrap; }
.fnd-alert-dir{
  flex:1; min-width:120px; padding:.45rem .7rem;
  background:var(--fnd-surface-2); border:1px solid var(--fnd-border);
  color:var(--fnd-text-3); font-size:.72rem; font-weight:700;
  border-radius:.4rem; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:.35rem;
}
.fnd-alert-dir.active[data-dir="above"]{ background:rgba(251,191,36,.12); border-color:rgba(251,191,36,.4); color:#fde68a; }
.fnd-alert-dir.active[data-dir="below"]{ background:rgba(74,222,128,.1);  border-color:rgba(74,222,128,.4); color:#bbf7d0; }

/* Alerts list */
.fnd-alerts-list{ display:flex; flex-direction:column; gap:.4rem; }
.fnd-alerts-empty{
  padding:1.2rem; text-align:center; color:var(--fnd-text-5); font-size:.72rem;
  border:1px dashed var(--fnd-border); border-radius:.5rem;
}
.fnd-alert-item{
  display:flex; align-items:center; gap:.6rem; padding:.5rem .75rem;
  background:var(--fnd-surface); border:1px solid var(--fnd-border); border-radius:.5rem;
}
.fnd-alert-item .sym{ font-weight:800; color:var(--fnd-text-1); font-size:.78rem; min-width:64px; }
.fnd-alert-item .meta{ flex:1; font-size:.68rem; color:var(--fnd-text-3); }
.fnd-alert-item .tools{ display:flex; gap:.3rem; }
.fnd-alert-item .tools button{
  width:28px; height:28px; border-radius:.35rem; background:rgba(255,255,255,.04);
  border:1px solid var(--fnd-border); color:var(--fnd-text-4); cursor:pointer;
}
.fnd-alert-item .tools button:hover{ color:#fca5a5; border-color:rgba(239,68,68,.3); background:rgba(239,68,68,.08); }

/* Favorites manage */
.fnd-favs-manage{ display:grid; grid-template-columns:1fr; gap:.35rem; }
@media(min-width:520px){ .fnd-favs-manage{ grid-template-columns:1fr 1fr; } }
.fnd-fav-item{
  display:flex; align-items:center; gap:.55rem; padding:.4rem .6rem;
  background:var(--fnd-surface); border:1px solid var(--fnd-border); border-radius:.45rem;
  font-size:.72rem;
}
.fnd-fav-item .sym{ font-weight:800; color:var(--fnd-text-1); }
.fnd-fav-item button{
  margin-left:auto; background:transparent; border:0; color:var(--fnd-text-4); cursor:pointer; padding:.25rem;
}
.fnd-fav-item button:hover{ color:#fca5a5; }

/* Help modal */
.fnd-help-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.4rem; }
.fnd-help-list li{ display:flex; align-items:center; gap:.7rem; padding:.45rem .55rem; background:var(--fnd-surface); border:1px solid var(--fnd-border); border-radius:.4rem; font-size:.72rem; color:var(--fnd-text-3); }
.fnd-help-list kbd{
  display:inline-block; padding:.1rem .42rem; border:1px solid var(--fnd-border-hi);
  border-radius:.25rem; font-size:.62rem; color:var(--fnd-text-1);
  background:rgba(0,0,0,.35); font-family:ui-monospace,monospace; min-width:22px; text-align:center;
}

/* === Fullscreen mode === */
.fnd-page.fullscreen{
  position:fixed; inset:0; z-index:8000;
  background:var(--fnd-bg);
  overflow:auto;
  padding-bottom:1rem;
}
.fnd-page.fullscreen .fnd-wrap{ max-width:100%; padding:.75rem 1rem 2rem; }
.fnd-page.fullscreen .fnd-minihead,
.fnd-page.fullscreen .fnd-side,
.fnd-page.fullscreen .fnd-edu-card{ display:none; }
.fnd-page.fullscreen .fnd-main-row{ grid-template-columns:1fr; }

/* === Mobile polish === */
@media(max-width:760px){
  .fnd-filters{ padding:.7rem; }
  .fnd-fr{ gap:.45rem; }
  .fnd-fr-top{ gap:.4rem; }
  .fnd-card-hdr{ padding:.55rem .75rem; }
  .fnd-tbl{ font-size:.72rem; min-width:560px; }
  .fnd-tbl thead th.th-next, .fnd-tbl td.td-next{ display:none; }
  .fnd-tbl thead th.th-change, .fnd-tbl td.td-change{ display:none; }
  .fnd-tbl thead th.th-vol, .fnd-tbl td.td-vol{ display:none; }
  .fnd-rate-bar{ width:54px; }
  .fnd-modal-foot .fnd-btn{ flex:1; justify-content:center; }
}
@media(max-width:420px){
  .fnd-tbl{ min-width:440px; }
  .fnd-dir{ padding:.15rem .4rem; font-size:.52rem; }
}

/* === Legacy helpers === */
.no-scrollbar::-webkit-scrollbar{ display:none; }
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }
