diff --git a/site/live.html b/site/live.html
index 6bd7eb90..5abfc43c 100644
--- a/site/live.html
+++ b/site/live.html
@@ -116,7 +116,7 @@
.mstats .mk{font:400 13px/1.4 var(--f-sans);color:var(--ink-2)}
.mstats .mv{display:flex;align-items:baseline;gap:8px;margin:8px 0 6px}
.mstats .mv b{font:500 26px/1.1 var(--f-sans);color:var(--bone);letter-spacing:-.01em}
-.mstats .mv b.own{color:var(--molten-text)}
+.mstats .mv b.own{color:var(--molten-text)}.mstats .mv b.dim{color:var(--ash)}
.mstats .mv small{font:400 11px/1.4 var(--f-mono);color:var(--ash)}
.mstats .mf{font:400 11px/1.4 var(--f-mono);color:var(--ash);overflow-wrap:anywhere}
@media (max-width:900px){.mstats{grid-template-columns:repeat(2,minmax(0,1fr))}.mstats>div:nth-child(2){border-right:0}.mstats>div:nth-child(-n+2){border-bottom:var(--hair)}}
@@ -502,7 +502,7 @@ details.tablebar summary{display:flex;align-items:center}
// the four stats above the graph, from the module's own window
function miner(st){if(!dag)return;var cps=dag.getCheckpoints(),cp=cps.length?cps[cps.length-1]:null;
$('m-blocks').textContent=fmtN(st.blocks);$('m-win').textContent='last '+st.window+' s';$('m-keys').textContent=st.minerKeys+' miner keys · not a card count';$('lane-caption').textContent=st.minerKeys+' keys';
- $('m-mine').textContent=mine?fmtN(st.own):'not set';$('m-key').textContent=mine||'not set';
+ $('m-mine').textContent=mine?fmtN(st.own):'0';$('m-mine').classList.toggle('dim',!mine);$('m-key').textContent=mine||'not set';
$('m-proven').textContent=fmtN(st.proven);$('m-proven-pct').textContent=st.blocks?Math.round(st.proven/st.blocks*100)+'% of window':'no blocks';
$('m-cp').textContent=cp?(cp.state==='locked'?'Locked':'Pending'):'None';$('m-cp-w').textContent=cp&&cp.fraction_total!==null&&cp.fraction_total!==undefined?Math.round(cp.fraction_total*100)+'% weight':'';$('m-cp-note').textContent=cp?'#'+fmtN(cp.index)+' · blue score '+fmtN(cp.blue_score):'no checkpoint in the reply';
$('c-count').textContent=st.blocks+' blocks';var r=dag.getViewRange(),lo=null,hi=null;dag.getBlocks().forEach(function(b){if(b.ts>=r.start&&b.ts<=r.end){if(lo===null||b.blue_scorehi)hi=b.blue_score;}});$('blue-range').textContent=lo===null?'blue score pending':'blue score '+fmtN(lo)+' to '+fmtN(hi);}