/* WebFTR v24.63 Waterfall Plugin Internal Renderer Parity Fix
   Local, reusable waterfall visual plugin. No external tiles/APIs/CDNs/fonts/libs.
   FT8 mounts this plugin visibly as a trial renderer; v24.63 restores internal-renderer parity, stable dark-blue colors and removes the plugin downscale/jitter artifacts while the old internal path remains only as safety fallback. */
.webftr-plugin-waterfall{
  margin:8px 0 16px;
  padding:12px 14px 14px;
  border:1px solid rgba(0,232,255,.42);
  background:
    radial-gradient(circle at 14% 0%,rgba(0,232,255,.12),transparent 42%),
    radial-gradient(circle at 86% 18%,rgba(80,150,255,.06),transparent 38%),
    linear-gradient(180deg,rgba(0,8,20,.98),rgba(0,0,10,.98));
  box-shadow:0 0 22px rgba(0,160,255,.09),inset 0 0 24px rgba(0,120,255,.04);
  color:#dffcff;
}
.webftr-plugin-waterfall .webftr-waterfall-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(0,232,255,.16);
}
.webftr-plugin-waterfall .webftr-waterfall-title{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#9ffcff;
  text-shadow:0 0 10px rgba(0,232,255,.35);
  letter-spacing:.10em;
  font-size:12px;
  text-transform:uppercase;
}
.webftr-plugin-waterfall .webftr-waterfall-title:before{
  content:attr(data-ft-mode) "-DECODE";
  display:inline-block;
  border:1px solid rgba(0,232,255,.48);
  background:rgba(0,45,55,.44);
  color:#9ffcff;
  box-shadow:0 0 10px rgba(0,232,255,.12);
  padding:3px 7px;
  font-size:10px;
  letter-spacing:.08em;
}
.webftr-plugin-waterfall .webftr-waterfall-status{
  color:#b9ddff;
  border:1px solid rgba(110,180,255,.42);
  background:rgba(0,24,58,.42);
  box-shadow:0 0 14px rgba(0,160,255,.10);
  padding:3px 8px;
  font-size:11px;
  white-space:nowrap;
}
.webftr-plugin-waterfall .webftr-waterfall-scale{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:0;
  color:#7defff;
  font-size:10px;
  font-family:Consolas,monospace;
  letter-spacing:.04em;
  margin:8px 0 3px;
  opacity:.86;
}
.webftr-plugin-waterfall .webftr-waterfall-scale span{
  text-align:center;
  border-left:1px solid rgba(0,232,255,.13);
}
.webftr-plugin-waterfall .webftr-waterfall-scale span:first-child{border-left:0}
.webftr-plugin-waterfall canvas.webftr-waterfall-canvas{
  display:block;
  width:100%;
  height:207px;
  background:#000512;
  border:1px solid rgba(0,232,255,.28);
  box-shadow:inset 0 0 12px rgba(0,232,255,.045),0 0 14px rgba(0,232,255,.09);
  image-rendering:auto;
  filter:none;
}
.webftr-plugin-waterfall canvas.webftr-waterfall-canvas:focus{
  outline:1px solid rgba(159,252,255,.45);
  outline-offset:2px;
}
.webftr-plugin-waterfall.is-off .webftr-waterfall-scale,
.webftr-plugin-waterfall.is-off canvas.webftr-waterfall-canvas,
.webftr-plugin-waterfall.is-off .webftr-waterfall-axis{
  display:none!important;
}
.webftr-plugin-waterfall .webftr-waterfall-axis{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  margin-top:4px;
  color:#9ffcff;
  font-size:10px;
  font-family:Consolas,monospace;
  letter-spacing:.04em;
  text-shadow:0 0 8px rgba(0,232,255,.25);
}
.webftr-plugin-waterfall .webftr-waterfall-axis span{text-align:center;position:relative;}
.webftr-plugin-waterfall .webftr-waterfall-axis span:before{
  content:"";
  position:absolute;
  top:-6px;
  left:50%;
  height:5px;
  border-left:1px solid rgba(0,232,255,.33);
}
.webftr-plugin-waterfall .webftr-waterfall-controls{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid rgba(0,232,255,.13);
}
.webftr-plugin-waterfall .wfToggle{
  border:1px solid rgba(66,214,138,.72);
  background:linear-gradient(180deg,rgba(0,54,28,.95),rgba(0,14,9,.98));
  color:#d6ffe4;
  box-shadow:0 0 13px rgba(66,214,138,.15);
  font-size:11px;
  font-weight:400;
  letter-spacing:.06em;
  padding:7px 12px;
  cursor:pointer;
  text-transform:uppercase;
}
.webftr-plugin-waterfall .wfToggle.active{
  border-color:rgba(212,55,85,.82);
  background:linear-gradient(180deg,#a20d2d,#590016);
  color:#ffdce2;
  box-shadow:0 0 16px rgba(212,55,85,.20),inset 0 0 10px rgba(255,255,255,.03);
}
.webftr-plugin-waterfall .wfToggle.off{
  border-color:rgba(66,214,138,.72);
  background:linear-gradient(180deg,rgba(0,54,28,.95),rgba(0,14,9,.98));
  color:#d6ffe4;
}
.webftr-plugin-waterfall .rxFreqBadge,
.webftr-plugin-waterfall .fpsBadge,
.webftr-plugin-waterfall .ft8WfStatusBadge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 8px;
  border:1px solid rgba(0,232,255,.34);
  background:linear-gradient(180deg,rgba(0,38,48,.64),rgba(0,12,18,.94));
  color:#dffcff;
  font-size:10.5px;
  font-weight:400;
  letter-spacing:.04em;
  box-shadow:0 0 10px rgba(0,232,255,.08);
}
.webftr-plugin-waterfall .rxFreqBadge b,
.webftr-plugin-waterfall .ft8WfStatusBadge b{font-weight:400;color:#b9ddff;}
.webftr-plugin-waterfall .wfSpanBadge,
.webftr-plugin-waterfall .decodeBwBadge{
  border-color:rgba(255,179,62,.58);
  background:linear-gradient(180deg,rgba(90,42,0,.58),rgba(20,9,0,.94));
  color:#b9ddff;
  box-shadow:0 0 12px rgba(255,179,62,.12);
}
@media(max-width:760px){
  .webftr-plugin-waterfall{padding:10px}
  .webftr-plugin-waterfall canvas.webftr-waterfall-canvas{height:160px}
  .webftr-plugin-waterfall .webftr-waterfall-head{align-items:flex-start;flex-direction:column}
  .webftr-plugin-waterfall .webftr-waterfall-controls{gap:6px}
}

/* v24.61 visible trial host states */
.waterfall-plugin-loading{
  min-height:207px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,232,255,.28);
  background:linear-gradient(180deg,rgba(0,18,25,.72),rgba(0,5,10,.94));
  color:#9ffcff;
  letter-spacing:.12em;
  font-size:12px;
  text-shadow:0 0 10px rgba(0,232,255,.35);
}
.waterfall-plugin-error{
  border-color:rgba(212,55,85,.72);
  color:#ffdce2;
  background:linear-gradient(180deg,rgba(60,0,16,.72),rgba(12,0,5,.96));
}
.webftr-waterfall-plugin-host[data-waterfall-renderer="visible-trial"]{
  display:block;
}

/* v25.44: Retune lock status inside the plugin control row. */
.webftrTuneLockBadge.tune-ok{border-color:rgba(65,255,159,.56);color:#b8ffd3;background:rgba(20,135,72,.28);box-shadow:0 0 12px rgba(42,255,150,.18)}
.webftrTuneLockBadge.tune-warn{border-color:rgba(255,178,72,.68);color:#ffd59a;background:rgba(130,78,16,.36);box-shadow:0 0 12px rgba(255,142,45,.20)}


/* v25.47: full 7-step waterfall frequency scale and cleaner spacing below canvas. */
.webftr-plugin-waterfall .webftr-waterfall-axis{grid-template-columns:repeat(7,1fr)!important;margin-top:6px!important;border-bottom:0!important;background:transparent!important;}
.webftr-plugin-waterfall .webftr-waterfall-controls{margin-top:14px!important;padding-top:0!important;border-top:0!important;}
.webftr-plugin-waterfall .wfToggle{min-height:26px!important;height:26px!important;padding:0 9px!important;font-size:9.8px!important;}
.webftr-plugin-waterfall .rxFreqBadge,.webftr-plugin-waterfall .fpsBadge,.webftr-plugin-waterfall .ft8WfStatusBadge{min-height:26px!important;height:26px!important;padding:0 8px!important;font-size:9.8px!important;}
