diff --git a/static/app.js b/static/app.js index e44a3d4..474d85a 100644 --- a/static/app.js +++ b/static/app.js @@ -668,7 +668,7 @@ function board() { function roster() { return `
${S.players.map((p) => { const cls = C.classes[p.cls]; - const levels = C.skills.filter((s) => !s.class || s.class === p.cls).map((s) => `
${s.icon} ${s.name} ${p.levels[s.id]}
`).join(""); + const levels = C.skills.filter((s) => !s.class || s.class === p.cls).map((s) => `
${s.icon}${s.name}${p.levels[s.id]}
`).join(""); return `
${cls.icon}
${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; } }