:root{
  --bg:#0a0713;
  --bg2:#120a24;
  --ink:#e9e6ff;
  --muted:#8f86b8;
  --line:rgba(150,120,255,.14);
  --up:#37e39b;
  --down:#ff5d7a;
  --accent:#7c5cff;
  --neon:#b98bff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(1200px 700px at 50% -10%, #1a1030 0%, transparent 60%),
    radial-gradient(900px 600px at 90% 10%, #160a2c 0%, transparent 55%),
    var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Inter,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;border-bottom:1px solid var(--line);background:rgba(10,7,20,.7);backdrop-filter:blur(6px)}
.ticker-track{display:inline-flex;gap:34px;white-space:nowrap;padding:7px 0;animation:scroll 42s linear infinite;font-size:12.5px;letter-spacing:.4px}
.ticker-track span{color:var(--muted)}
.ticker-track b{color:var(--ink);font-weight:600}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- topbar ---------- */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 22px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px}
.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:18px;
  background:linear-gradient(135deg,#7c5cff,#b98bff);color:#fff;box-shadow:0 6px 22px rgba(124,92,255,.5)}
.brand-title{font-size:19px;font-weight:800;letter-spacing:.3px}
.brand-title span{color:var(--neon)}
.brand-sub{font-size:11.5px;color:var(--muted);margin-top:2px}
.fund-stats{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.stat-label{font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}
.stat-value{font-size:21px;font-weight:800;margin-top:3px;font-variant-numeric:tabular-nums}
.stat-value.small{font-size:14px}
.stat-value.up{color:var(--up)} .stat-value.down{color:var(--down)}
.muted{color:var(--muted);font-weight:500;font-size:10px}
.dd .dd-bar{position:relative;width:160px;height:8px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:6px}
.dd-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#37e39b,#f5c451 65%,#ff5d7a);transition:width .5s}
.dd-line{position:absolute;top:-2px;bottom:-2px;left:100%;width:2px;background:#ff5d7a}
.killbox{display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:11px;font-weight:800;font-size:13px;letter-spacing:.6px;
  background:rgba(55,227,155,.12);border:1px solid rgba(55,227,155,.4);color:var(--up)}
.killbox .dot{width:9px;height:9px;border-radius:50%;background:var(--up);box-shadow:0 0 10px var(--up);animation:pulse 1.6s infinite}
.killbox.dead{background:rgba(255,93,122,.16);border-color:rgba(255,93,122,.6);color:var(--down);animation:alarm 1s infinite}
.killbox.dead .dot{background:var(--down);box-shadow:0 0 12px var(--down)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes alarm{0%,100%{box-shadow:0 0 0 rgba(255,93,122,0)}50%{box-shadow:0 0 22px rgba(255,93,122,.7)}}

/* ---------- 5 ACCOUNT CARDS ---------- */
.accounts-wrap{padding:14px 18px 2px}
.accounts-head{display:flex;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap}
.accounts-title{font-size:14px;font-weight:800;letter-spacing:.5px}
.accounts-title .muted{font-size:11px}
.fund-strip{margin-left:auto;display:flex;gap:16px;align-items:center;padding:7px 14px;border-radius:12px;
  background:linear-gradient(90deg,rgba(124,92,255,.16),rgba(124,92,255,.05));border:1px solid rgba(124,92,255,.3)}
.fs-item{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;display:flex;gap:6px;align-items:baseline}
.fs-item b.muted{font-size:9px;letter-spacing:.8px}
.fs-item span.up{color:var(--up)} .fs-item span.down{color:var(--down)}
.account-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.acct{position:relative;background:linear-gradient(180deg,rgba(26,17,48,.85),rgba(15,9,28,.85));
  border:1px solid var(--line);border-radius:14px;padding:12px 12px 11px;overflow:hidden;transition:border-color .3s}
.acct::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac,#7c5cff)}
.acct.halted{border-color:rgba(255,93,122,.55);animation:alarm 1.4s infinite}
.acct-top{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.acct-av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:18px;
  background:color-mix(in srgb,var(--ac) 20%,transparent);border:1px solid var(--ac)}
.acct-id{min-width:0}
.acct-name{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-strat{font-size:9.5px;color:var(--muted);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-badge{margin-left:auto;font-size:8.5px;font-weight:800;letter-spacing:.6px;padding:3px 7px;border-radius:20px;
  background:rgba(55,227,155,.14);border:1px solid rgba(55,227,155,.4);color:var(--up);white-space:nowrap}
.acct-badge.halted{background:rgba(255,93,122,.16);border-color:rgba(255,93,122,.55);color:var(--down)}
.acct-eq{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.2px}
.acct-pnl{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:1px}
.acct-pnl.up{color:var(--up)} .acct-pnl.down{color:var(--down)}
.acct-ddrow{display:flex;align-items:center;justify-content:space-between;margin-top:9px;font-size:9px;color:var(--muted);letter-spacing:.4px}
.acct-ddbar{position:relative;height:6px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:4px}
.acct-ddfill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:5px;
  background:linear-gradient(90deg,#37e39b,#f5c451 60%,#ff5d7a);transition:width .5s}

/* open positions inside each account card */
.acct-pos{margin-top:10px;border-top:1px solid rgba(150,120,255,.14);padding-top:8px;display:flex;flex-direction:column;gap:4px}
.acct-pos .pos-head{font-size:8.5px;letter-spacing:.7px;color:var(--muted);font-weight:800;margin-bottom:2px}
.acct-pos-empty{font-size:10.5px;color:var(--muted);font-style:italic;opacity:.8;margin-top:10px;
  border-top:1px solid rgba(150,120,255,.14);padding-top:8px}
.pos-row{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:6px;font-size:11px;
  font-variant-numeric:tabular-nums;line-height:1.3}
.pos-coin{font-weight:800;color:#e6e0ff}
.pos-side{font-weight:800;font-size:8.5px;letter-spacing:.4px;padding:1px 5px;border-radius:5px}
.pos-side.long{color:var(--up);background:rgba(55,227,155,.13);border:1px solid rgba(55,227,155,.35)}
.pos-side.short{color:var(--down);background:rgba(255,93,122,.13);border:1px solid rgba(255,93,122,.4)}
.pos-lev{font-size:9.5px;color:var(--muted);font-weight:700}
.pos-pnl{font-weight:800;text-align:right;justify-self:end}
.pos-pnl.up{color:var(--up)} .pos-pnl.down{color:var(--down)}
.pos-more{font-size:9px;color:var(--muted);opacity:.75}

/* ---------- 🧠 LLM brain thought on each account card ---------- */
.acct-thought{margin-top:9px;border-top:1px solid rgba(150,120,255,.14);padding-top:8px;
  display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;font-size:10.5px;line-height:1.35}
.acct-thought.empty{color:var(--muted);font-style:italic;opacity:.7}
.acct-thought .th-badge{flex:0 0 auto;font-size:8px;font-weight:800;letter-spacing:.6px;padding:2px 6px;border-radius:20px;
  border:1px solid currentColor}
.acct-thought .th-badge.take{color:#37e39b}
.acct-thought .th-badge.modify{color:#f5b74a}
.acct-thought .th-badge.pass{color:#9aa4c0}
.acct-thought .th-text{flex:1 1 60%;min-width:0;color:#e7e0ff;word-break:break-word}
.acct-thought .th-time{flex:0 0 auto;color:var(--muted);font-size:9px;opacity:.8}
.acct-thought.take{box-shadow:inset 0 1px 0 rgba(55,227,155,.15)}

/* ---------- activity feed tabs + tags ---------- */
.feed-panel .panel-head{flex-wrap:wrap;gap:10px}
.feed-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-left:auto}
.ftab{font:700 10px -apple-system,Inter,sans-serif;letter-spacing:.3px;color:var(--muted);cursor:pointer;
  background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:20px;padding:4px 9px;transition:all .18s}
.ftab:hover{color:#d8ceff;border-color:rgba(124,92,255,.4)}
.ftab.active{color:#fff;background:linear-gradient(90deg,rgba(124,92,255,.3),rgba(124,92,255,.12));border-color:rgba(124,92,255,.55)}
.feed-tag{flex:0 0 auto;font-size:10px;line-height:1}
.feed-tag.signal{filter:none}
.feed-msg{min-width:0;word-break:break-word}
.feed-row.hide{display:none}
.feed-row.chatter{border-left-color:#b39cff;opacity:.92}
.feed-row.cat-chatter .feed-msg{color:#ded8fb}
.feed-row.brain,.feed-row.cat-brain{border-left-color:#c9a4ff}
.feed-row.cat-brain .feed-msg{color:#ecdfff}
.feed-tag.brain{filter:drop-shadow(0 0 4px rgba(201,164,255,.7))}

/* ---------- HALL (hero) ---------- */
.hall-wrap{padding:14px 18px 6px}
.hall-head{display:flex;align-items:center;gap:14px;margin-bottom:8px;flex-wrap:wrap}
.hall-title{font-size:16px;font-weight:800;letter-spacing:.6px}
.hall-caption{font-style:italic;color:var(--neon);font-size:13px;opacity:.85}
.live-pill{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.6px;
  color:#c9b8ff;background:rgba(124,92,255,.14);border:1px solid rgba(124,92,255,.35);padding:5px 11px;border-radius:20px}
.live-pill .dot{width:8px;height:8px;border-radius:50%;background:#37e39b;box-shadow:0 0 9px #37e39b;animation:pulse 1.6s infinite}
.hall-stage{position:relative;width:100%;border-radius:18px;overflow:hidden;
  border:1px solid rgba(124,92,255,.22);
  background:linear-gradient(180deg,#0c0820,#0a0616);
  box-shadow:0 22px 60px rgba(0,0,0,.55), inset 0 0 90px rgba(60,30,120,.25);
  -webkit-overflow-scrolling:touch}
#hall{display:block;width:100%;height:auto}
.hall-hint{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:10.5px;color:var(--muted);pointer-events:none;
  opacity:.7;letter-spacing:.4px}

/* ---------- layout below ---------- */
.layout{display:grid;grid-template-columns:1.15fr .85fr;grid-auto-rows:minmax(0,auto);gap:16px;padding:14px 18px 30px;max-width:1500px;margin:0 auto}
.panel{background:linear-gradient(180deg,rgba(24,16,44,.72),rgba(16,10,30,.72));border:1px solid var(--line);border-radius:16px;padding:14px;backdrop-filter:blur(6px)}
.panel-head{font-size:12px;font-weight:800;letter-spacing:.6px;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.chat-panel{grid-row:span 2;display:flex;flex-direction:column;min-height:340px}
.side{display:flex;flex-direction:column;gap:16px;min-height:0}
.grow{flex:1;min-height:0}
.chart-wrap{grid-column:1 / -1}

/* chat */
.chatlog{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding-right:4px}
.chat-row{display:flex;gap:10px;align-items:flex-start;--ac:#7c5cff;animation:fadein .3s ease}
.chat-av{width:30px;height:30px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;font-size:16px;
  background:color-mix(in srgb,var(--ac) 22%,transparent);border:1px solid var(--ac)}
.chat-body{min-width:0}
.chat-name{font-size:11px;font-weight:800;color:var(--ac);display:flex;gap:8px;align-items:baseline}
.chat-time{color:var(--muted);font-weight:600;font-size:9.5px}
.chat-text{font-size:13px;line-height:1.45;color:#ded8fb;margin-top:1px;word-break:break-word}
.chat-row.kill .chat-text{color:#ffb4c2}
.chat-row.win .chat-text{color:#b6f4d8}
.chat-row.loss .chat-text{color:#ffc9b0}

/* leaderboard */
.leaderboard{display:flex;flex-direction:column;gap:7px}
.lb-row{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.03);border:1px solid transparent}
.lb-row.top{background:linear-gradient(90deg,rgba(124,92,255,.18),transparent);border-color:rgba(124,92,255,.35)}
.lb-rank{font-weight:800;color:var(--muted);width:16px;text-align:center}
.lb-av{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:16px}
.lb-name{flex:1;font-size:13px;font-weight:700}
.lb-pnl{font-weight:800;font-variant-numeric:tabular-nums;font-size:13.5px}
.lb-pnl.up{color:var(--up)} .lb-pnl.down{color:var(--down)}

/* feed */
.feed{display:flex;flex-direction:column;gap:5px;overflow-y:auto;max-height:230px;font-size:12px}
.feed-row{display:flex;gap:9px;padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.02);border-left:3px solid var(--muted);align-items:baseline;line-height:1.4}
.feed-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 auto;font-size:10.5px}
.feed-row.open{border-left-color:#7c5cff}
.feed-row.signal{border-left-color:#7c5cff}
.feed-row.risk{border-left-color:#5ed0ff}
.feed-row.resize{border-left-color:#f5b74a}
.feed-row.exec{border-left-color:#5eead4}
.feed-row.win{border-left-color:var(--up)}
.feed-row.loss{border-left-color:var(--down)}
.feed-row.kill{border-left-color:#ff5d7a;background:rgba(255,93,122,.1)}

/* equity chart */
#chart{width:100%;display:block}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:11px;height:11px;border-radius:3px;display:inline-block}

@keyframes fadein{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .account-cards{grid-template-columns:repeat(2,1fr)}
  .accounts-head .fund-strip{width:100%;margin-left:0;justify-content:space-between;gap:10px}
  .layout{grid-template-columns:1fr}
  .chat-panel{grid-row:auto}
  .fund-stats{gap:16px}
  .stat-value{font-size:18px}
  .dd .dd-bar{width:120px}
  .hall-stage{overflow-x:auto}
  #hall{min-width:680px}
}
@media(max-width:560px){
  .account-cards{grid-template-columns:1fr 1fr}
  .acct-eq{font-size:17px}
}

/* ---------- 📋 daily investment committee ---------- */
.acct-badges{display:flex;align-items:center;gap:6px;margin-left:auto}
.aggro{font-size:12px;font-weight:800;padding:2px 7px;border-radius:999px;line-height:1;letter-spacing:.4px;white-space:nowrap}
.aggro.reduce{color:#ff9d7a;background:rgba(255,110,70,.14);border:1px solid rgba(255,110,70,.5)}
.aggro.hold{color:#9fb0d0;background:rgba(140,160,200,.12);border:1px solid rgba(140,160,200,.35)}
.aggro.increase{color:#4bf0a8;background:rgba(60,240,150,.14);border:1px solid rgba(60,240,150,.5)}

.committee-wrap{margin:0 20px 18px;background:linear-gradient(160deg,rgba(30,22,54,.9),rgba(18,14,34,.9));border:1px solid rgba(124,92,255,.32);border-radius:16px;padding:16px 18px;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.committee-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.committee-title{font-size:15px;font-weight:800;letter-spacing:.5px}
.committee-meta{font-size:12px;color:#9fb0d0}
.cm-test{background:#f5b74a;color:#1a1330;font-weight:800;padding:1px 7px;border-radius:6px;font-size:11px}
.committee-body{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.committee-memo{font-size:14px;line-height:1.6;color:#e7e3f5;white-space:normal;background:rgba(0,0,0,.18);border-radius:12px;padding:14px 16px;border-left:3px solid #7c5cff}
.committee-side{display:flex;flex-direction:column;gap:8px}
.cm-callout{display:flex;flex-direction:column;gap:2px;font-size:13px;background:rgba(255,255,255,.03);border-radius:9px;padding:8px 11px}
.cm-callout .cm-lbl{font-size:10px;letter-spacing:.6px;color:#9fb0d0;font-weight:700}
.cm-callout.best{border-left:3px solid #4bf0a8}
.cm-callout.worst{border-left:3px solid #ff9d7a}
.cm-callout.read{border-left:3px solid #5ed0ff}
.cm-dials{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.cm-dial-row{display:grid;grid-template-columns:auto auto auto 1fr;gap:8px;align-items:center;font-size:12px;padding:5px 8px;background:rgba(255,255,255,.03);border-radius:8px}
.cm-grade{font-weight:800;color:#f5d94a;min-width:26px}
.cm-agent{font-weight:700;min-width:44px}
.cm-directive{color:#c4cbe0;font-size:11.5px;line-height:1.3}
@media(max-width:980px){.committee-body{grid-template-columns:1fr}.committee-wrap{margin:0 14px 16px}}

/* LIVE DEMO badge — replaces the plain MOCK tag when trading Bybit demo live. */
#modeTag.mode-live {
  color: #052e16;
  background: linear-gradient(90deg, #22c55e, #4ade80);
  padding: 1px 8px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .04em;
  box-shadow: 0 0 0 1px rgba(34,197,94,.4), 0 0 12px rgba(34,197,94,.55);
  animation: modeLivePulse 2s ease-in-out infinite;
}
@keyframes modeLivePulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(34,197,94,.4), 0 0 8px rgba(34,197,94,.45); }
  50%      { box-shadow: 0 0 0 1px rgba(34,197,94,.6), 0 0 16px rgba(34,197,94,.85); }
}

/* ---------- floor-chat coin filter chips ---------- */
.chat-coinfilter{display:flex;flex-wrap:wrap;gap:5px;padding:8px 4px 4px}
.coinchip{font-size:10px;font-weight:700;letter-spacing:.4px;padding:3px 9px;border-radius:999px;cursor:pointer;
  background:rgba(124,92,255,.08);border:1px solid var(--line);color:var(--muted);transition:all .15s}
.coinchip:hover{color:var(--ink);border-color:var(--accent)}
.coinchip.active{background:color-mix(in srgb,var(--accent) 26%,transparent);border-color:var(--accent);color:#fff}
.chat-row.hide{display:none}
.chat-coin{display:inline-block;font-size:8.5px;font-weight:800;letter-spacing:.4px;margin-left:6px;padding:1px 6px;border-radius:6px;
  background:color-mix(in srgb,var(--ac,#7c5cff) 22%,transparent);border:1px solid var(--ac,#7c5cff);color:#e9e6ff;vertical-align:middle}

/* ---------- account history button ---------- */
.acct-hist{margin-top:9px;width:100%;font-size:10.5px;font-weight:700;letter-spacing:.4px;padding:6px 8px;border-radius:9px;cursor:pointer;
  background:rgba(124,92,255,.10);border:1px solid var(--line);color:var(--muted);transition:all .15s}
.acct-hist:hover{color:#fff;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}

/* ---------- history modal ---------- */
.hist-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center}
.hist-modal[hidden]{display:none}
.hist-backdrop{position:absolute;inset:0;background:rgba(5,3,12,.72);backdrop-filter:blur(4px)}
.hist-card{position:relative;width:min(760px,94vw);max-height:86vh;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#160c29,#0e0820);border:1px solid rgba(150,110,255,.4);border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.6);overflow:hidden}
.hist-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.hist-title{font-size:15px;font-weight:800;letter-spacing:.3px}
.hist-close{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:14px}
.hist-close:hover{color:#fff;border-color:var(--down)}
.hist-totals{display:flex;flex-wrap:wrap;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}
.ht-item{display:flex;flex-direction:column;gap:2px;min-width:90px}
.ht-item span{font-size:9px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase}
.ht-item b{font-size:15px;font-weight:800}
.ht-item b.up{color:var(--up)} .ht-item b.down{color:var(--down)}
.hist-scroll{overflow-y:auto;padding:8px 18px 18px}
.hist-section-title{font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:800;margin:14px 0 6px;text-transform:uppercase}
.hist-table{width:100%;border-collapse:collapse;font-size:11.5px}
.hist-table th{text-align:left;font-size:9px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;padding:5px 6px;border-bottom:1px solid var(--line)}
.hist-table th.num,.hist-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace}
.hist-table td{padding:5px 6px;border-bottom:1px solid rgba(150,120,255,.07)}
.hist-coin{font-weight:800}
.hist-side.long{color:var(--up)} .hist-side.short{color:var(--down)}
.hist-table td.up{color:var(--up)} .hist-table td.down{color:var(--down)}
.hist-loading{color:var(--muted);font-style:italic;padding:14px 6px;text-align:center}
.hist-daily{display:flex;flex-direction:column;gap:2px}
.hd-row{display:flex;justify-content:space-between;font-size:11.5px;padding:3px 6px;border-bottom:1px solid rgba(150,120,255,.07);font-variant-numeric:tabular-nums}
.hd-row b.up{color:var(--up)} .hd-row b.down{color:var(--down)}

/* ---------- playbook changelog ---------- */
.playbook-wrap{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.playbook-head{font-size:11px;font-weight:800;letter-spacing:.5px;margin-bottom:8px}
.playbook-list{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow-y:auto}
.pb-empty{font-size:11px;color:var(--muted);font-style:italic}
.pb-row{display:grid;grid-template-columns:78px 92px 110px 96px 1fr;gap:8px;align-items:baseline;font-size:11px;
  padding:5px 8px;border-radius:8px;background:rgba(124,92,255,.06);border:1px solid var(--line)}
.pb-date{color:var(--muted);font-size:9.5px;font-variant-numeric:tabular-nums}
.pb-agent{font-weight:800}
.pb-param{color:var(--neon);font-family:ui-monospace,Menlo,monospace;font-size:10px}
.pb-change{font-family:ui-monospace,Menlo,monospace;font-size:10.5px}
.pb-why{color:var(--muted);font-size:10px}
.pb-stats{color:var(--muted);opacity:.85}
@media(max-width:640px){.pb-row{grid-template-columns:1fr 1fr;gap:3px}.pb-why{grid-column:1/-1}}
