/* Market source-state polish — additive, no data ownership. */
.ctrl-status[data-source]{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid var(--bw-border);
  letter-spacing:.035em;
  text-transform:uppercase;
  background:rgba(16,34,56,.018);
}
.ctrl-status[data-source]::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  flex:0 0 7px;
  background:currentColor;
}
.ctrl-status[data-source="loading"]{
  color:var(--bw-blue);
  border-color:rgba(5,185,242,.16);
  background:rgba(5,185,242,.045);
}
.ctrl-status[data-source="loading"]::before{
  box-shadow:0 0 0 3px rgba(5,185,242,.07),0 0 11px rgba(5,185,242,.18);
  animation:bwMarketSourcePulse 1.35s ease-in-out infinite;
}
.ctrl-status[data-source="live"]{
  color:#779000;
  border-color:rgba(185,219,27,.20);
  background:rgba(185,219,27,.065);
}
.ctrl-status[data-source="live"]::before{
  background:var(--bw-volt);
  box-shadow:0 0 0 3px rgba(185,219,27,.08);
}
.ctrl-status[data-source="demo"]{
  color:#ad7b27;
  border-color:rgba(215,168,77,.25);
  background:rgba(215,168,77,.07);
}
.ctrl-status[data-source="demo"]::before{
  background:#d7a84d;
  box-shadow:0 0 0 3px rgba(215,168,77,.08);
}
html[data-design="future"] .ctrl-status[data-source="live"]{color:#c6e549}
html[data-design="future"] .ctrl-status[data-source="demo"]{color:#e4b861}

@keyframes bwMarketSourcePulse{
  0%,100%{opacity:.38;transform:scale(.82)}
  50%{opacity:1;transform:scale(1.1)}
}

@media(max-width:650px){
  .ctrl-status[data-source]{width:max-content;max-width:100%;font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .ctrl-status[data-source="loading"]::before{animation:none!important}
}
