${esc(p.name)} ${cls.name} · total level ${p.total}
${p.doing ? `${skillOf(p.skill).icon} ${esc(p.doing)}` : `Idle`}${p.garrison ? ` · On guard` : ""}
diff --git a/static/styles.css b/static/styles.css
index f3aa514..c71b585 100644
--- a/static/styles.css
+++ b/static/styles.css
@@ -270,8 +270,13 @@ table.parts td:last-child { text-align: right; font-variant-numeric: tabular-num
.ledger .when { color: var(--muted); font-size: 12px; display: block; }
.person .top { display: flex; gap: 12px; align-items: center; }
.person .ico { font-size: 30px; }
-.levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 10px; font-size: 13px; margin-top: 10px; }
-.levels span { color: var(--muted); }
+.levels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; font-size: 13px; margin-top: 12px; }
+.levels .lvl { display: flex; align-items: center; gap: 7px; padding: 4px 0; border-bottom: 1px solid var(--line); }
+.levels .lvl .ico { width: 18px; text-align: center; flex: none; font-size: 14px; line-height: 1; }
+.levels .lvl .nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
+.levels .lvl b { font-variant-numeric: tabular-nums; font-weight: 650; }
+.levels .lvl.low { color: var(--muted); }
+.levels .lvl.low b { font-weight: 400; }
/* --- character sheet -------------------------------------------------- */
@@ -357,7 +362,6 @@ button.sheet-skill:hover { background: var(--panel-2); }
.skill-head { flex-wrap: wrap; }
.skill-head .info { flex-basis: 60%; }
.slots { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); }
- .levels { grid-template-columns: repeat(2, 1fr); }
/* iOS zooms into any input under 16px when it's focused. */
input[type=text], input[type=number], textarea, select { font-size: 16px; }
}