/* themes.css — Theme Intelligence Dashboard. Matches the terminal's existing dark palette
   (same variables as bv4s_name.html) so this page reads as part of the suite. */

:root{
  --bg:#0b0f14; --panel:#111822; --line:#1f2a38; --txt:#d7dee8; --dim:#7f8da0;
  --up:#3ddc84; --dn:#ff5c5c; --amb:#ffb347; --blue:#5aa9ff; --pur:#b48cff;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
.wrap{max-width:1280px;margin:0 auto;padding:14px}

h1{font-size:15px;letter-spacing:.14em;margin:0;font-weight:600;text-transform:uppercase}
.sub{color:var(--dim);font-size:12px;margin-top:4px}
.mono{font-family:var(--mono)}

.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between;
  border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}
.stat{color:var(--dim);font-size:12px}
.stat b{color:var(--txt);font-weight:600}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px 14px;margin:10px 0}
.panel h2{font-size:11px;letter-spacing:.12em;color:var(--dim);margin:0 0 8px;font-weight:600;text-transform:uppercase}

/* the regime banner: when the whole book tightens, clusters are dimmed, not hidden */
.banner{border:1px solid var(--amb);background:rgba(255,179,71,.09);color:var(--amb);
  border-radius:6px;padding:10px 12px;margin:10px 0;font-size:12px}
.banner b{color:var(--amb)}
.dimmed{opacity:.45}

.cluster{background:var(--panel);border:1px solid var(--line);border-radius:6px;margin:12px 0;overflow:hidden}
.cluster-hd{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;
  padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.015)}
.cluster-hd .rank{font-family:var(--mono);color:var(--dim)}
.cluster-hd .cd{font-family:var(--mono);color:var(--blue);font-weight:600}
.cluster-hd .nm{color:var(--dim);font-size:12px}

.tag{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  padding:2px 6px;border-radius:3px;border:1px solid var(--line);color:var(--dim);vertical-align:middle}
.tag.warn{color:var(--amb);border-color:var(--amb)}
.tag.leader{color:var(--up);border-color:var(--up)}
.tag.prog{color:var(--blue);border-color:var(--blue)}
.tag.next{color:var(--pur);border-color:var(--pur)}

table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12px}
th{text-align:right;color:var(--dim);font-weight:600;font-size:11px;letter-spacing:.06em;
  padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
th:first-child,td:first-child{text-align:left}
th:nth-child(2),td:nth-child(2){text-align:left}
td{padding:5px 10px;border-bottom:1px solid rgba(31,42,56,.5);text-align:right;white-space:nowrap}
tr:last-child td{border-bottom:none}
tbody tr:hover{background:rgba(90,169,255,.05)}
.tick{font-weight:600}
.pos{color:var(--up)} .neg{color:var(--dn)} .flat{color:var(--dim)}

.rowgrp td{background:rgba(255,255,255,.02);color:var(--dim);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;text-align:left}

.news{padding:10px 14px;border-top:1px solid var(--line)}
.news h3{font-size:11px;letter-spacing:.1em;color:var(--dim);margin:0 0 6px;font-weight:600;text-transform:uppercase}
.news .label{color:var(--dim);font-size:11px;font-style:italic;margin-bottom:6px}
.news a{color:var(--blue);text-decoration:none}
.news a:hover{text-decoration:underline}
.news li{margin:3px 0;font-size:12px;color:var(--txt)}
.news ul{margin:0;padding-left:16px}
.news .src{color:var(--dim);font-size:11px}

.note{color:var(--dim);font-size:11px;padding:8px 14px;border-top:1px solid var(--line);line-height:1.6}
.foot{color:var(--dim);font-size:11px;margin:18px 0 30px;line-height:1.7;border-top:1px solid var(--line);padding-top:10px}
.err{color:var(--dn)}
.empty{color:var(--dim);padding:18px 14px;text-align:center}

@media (max-width:760px){
  .wrap{padding:10px}
  table{font-size:11px}
  td,th{padding:4px 6px}
}
