diff --git a/static/app.js b/static/app.js
index 27e4a47..2e561fb 100644
--- a/static/app.js
+++ b/static/app.js
@@ -510,14 +510,18 @@ function renderBalances(d) {
const b = d.balances;
const colors = { Fire: "#e06a4f", Earth: "#7aa85c", Air: "#d9c86a", Water: "#5f8fd0",
Cardinal: "#8f7bd8", Fixed: "#e8c66a", Mutable: "#5fa8e0", Positive: "#e8e4f0", Negative: "#9a93ad" };
+ // one common scale: every group sums to the same total planet-weight (12),
+ // so bar length is comparable across elements / modalities / polarities
+ const ORDER = [["Fire", "Earth", "Air", "Water"], ["Cardinal", "Fixed", "Mutable"], ["Positive", "Negative"]];
let html = "
Balances
";
- for (const group of [b.elements, b.modalities, b.polarities]) {
- const max = Math.max(...Object.values(group), 1);
- for (const [k, v] of Object.entries(group)) {
- html += ``;
+ [b.elements, b.modalities, b.polarities].forEach((group, gi) => {
+ const total = Object.values(group).reduce((a, x) => a + x, 0) || 1;
+ for (const k of ORDER[gi]) {
+ const v = group[k] || 0;
+ html += ``;
}
html += ``;
- }
+ });
$("#balances").innerHTML = html;
const mp = d.moon_phase;
$("#moonphase").innerHTML = mp
diff --git a/static/style.css b/static/style.css
index 73f35c9..714ed0c 100644
--- a/static/style.css
+++ b/static/style.css
@@ -104,7 +104,8 @@ td.dign { color: var(--gold); font-size: 12px; }
.bal-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 13px; }
.bal-row span:first-child { width: 74px; color: var(--dim); }
-.bal-bar { height: 10px; border-radius: 5px; }
+.bal-track { width: 160px; height: 10px; background: #1c1c2c; border-radius: 5px; overflow: hidden; }
+.bal-bar { height: 10px; border-radius: 5px; min-width: 0; }
#moonphase { margin-top: 22px; color: var(--dim); font-size: 14px; }
#moonphase strong { color: var(--ink); }