Type Scale Audit
Every font-size declaration in the Bristlenose report CSS, rendered at actual size.
~DUP = near-duplicate of another size.
em = relative unit (scales with parent).
1.75rem — Page title
h1
report.css · 700 · ls -0.01em
Climbing Research Study
1.75rem = 28px
1.5rem — Stat card values
.bn-project-stat-value
global-nav.css · 400 · lh 1.2
42
1.5rem = 24px
1.35rem — Section headings / Header
h2
report.css · 600
Community and Social Connection
1.35rem = 21.6px
.header-logotype
logo.css · 600 · ls -0.01em
bristlenose
1.35rem = 21.6px
.header-project
logo.css · 400 · ls -0.01em
Climbing Research Study
1.35rem = 21.6px
1.25rem — Modal title (help only)
.help-modal h2
help-overlay.css
Keyboard Shortcuts
1.25rem = 20px ~DUP
1.1rem — Subsection headings
h3
report.css · 600
Learning Journey and Skill Development
1.1rem = 17.6px
.toc h2
toc.css · 1.1rem
Themes
1.1rem = 17.6px
.header-doc-title
logo.css · 400
User Research Report
1.1rem = 17.6px
.feedback-modal h2
feedback.css · 1.1rem
Share Feedback
1.1rem = 17.6px
1.05rem — Signal card location
.signal-card-location
analysis.css · 600
Risk Management and Safety Culture
1.05rem = 16.8px ~DUP
0.95rem — Moderator header
.bn-session-moderators
report.css
Sessions moderated by Alex Chen
0.95rem = 15.2px
.toolbar-btn .toolbar-icon
button.css · 0.95rem
🔍 ⬇ ⭐
0.95rem = 15.2px
0.92rem — Featured quote text
.bn-featured-quote .quote-text
global-nav.css · lh 1.55
"I started maybe six years ago at a local indoor gym. A friend dragged me along and I was honestly terrible at first."
0.92rem = 14.7px ~DUP
0.9rem — Standard UI text
table (base)
report.css
Table cell content at base size
0.9rem = 14.4px
.toc li / .bn-dashboard-nav li
toc.css / global-nav.css
0.9rem = 14.4px
.speaker
blockquote.css
— p1 (Alex Chen)
0.9rem = 14.4px
.bn-radio-label
settings.css
System (follow OS preference)
0.9rem = 14.4px
0.88rem — Nav tabs / session labels
.bn-tab
global-nav.css · 500
Project Quotes Sessions Analysis
0.88rem = 14.1px ~DUP
.bn-session-label
global-nav.css · 600
Interview with Alex Chen
0.88rem = 14.1px
0.875rem — Search / help descriptions
.search-input
search.css
Search quotes…
0.875rem = 14px ~DUP
.help-section dd
help-overlay.css
Focus next quote in the list
0.875rem = 14px
0.85rem — Meta text / context / descriptions
.context
blockquote.css
Context: Discussing their first experience at the climbing gym
0.85rem = 13.6px
.transcript-meta
transcript.css
Duration: 45:32 · Transcribed with Whisper
0.85rem = 13.6px
.codebook-description
codebook-panel.css
Tags applied during analysis, grouped by research domain
0.85rem = 13.6px
.clipboard-toast
toast.css
Copied to clipboard
0.85rem = 13.6px
.bn-project-stat--text
global-nav.css
Moderator: Alex Chen
0.85rem = 13.6px
0.82rem — Toolbar / filters / forms / featured footer
.toolbar-btn
button.css
Export CSV ▾
0.82rem = 13.1px
.tag-filter-item
tag-filter.css
☑ frustration ☑ delight ☐ confidence
0.82rem = 13.1px
.bn-featured-footer
global-nav.css
00:09 p1 satisfaction
0.82rem = 13.1px
.bn-session-journey
report.css
Enthusiastic → Frustrated → Resolved
0.82rem = 13.1px
.header-meta
logo.css
Generated 13 Feb 2026
0.82rem = 13.1px
.feedback-label
feedback.css · 600
How useful was this report?
0.82rem = 13.1px
.analysis-heatmap (base)
analysis.css
Heatmap table base size
0.82rem = 13.1px
.new-group-label
codebook-panel.css
+ New group…
0.82rem = 13.1px
0.8rem — Stat labels / timecodes / icons / heatmap cells
.bn-project-stat-label
global-nav.css
Quotes
0.8rem = 12.8px ~DUP
.bn-featured-quote .context
global-nav.css
Context: Discussing risk management
0.8rem = 12.8px
a.timecode / span.timecode
timecode.css · mono
[00:09]
0.8rem = 12.8px
.star-btn / .edit-pencil
button.css · lh 1
✎ ☆
0.8rem = 12.8px
.heatmap-cell (data)
analysis.css · 500 · mono
2.4
0.8rem = 12.8px
.signal-card-footer
analysis.css
4 of 6 participants · Strong signal
0.8rem = 12.8px
0.78rem — Filter actions / codebook subtitles
.tag-filter-action
tag-filter.css
Select all | Clear
0.78rem = 12.5px
.group-subtitle
codebook-panel.css · lh 1.4
Usability & interaction patterns
0.78rem = 12.5px
0.75rem — Column headers / counts / kbd / modal footer
.analysis-heatmap th
analysis.css · 600
FRUSTRATION CONFUSION DELIGHT
0.75rem = 12px
.sentiment-bar-count
bar.css · 600
12
0.75rem = 12px
.tag-count / .group-total-count
codebook-panel.css
(7) Total: 24
0.75rem = 12px
.help-modal kbd
help-overlay.css · mono · lh 1
⌘K
0.75rem = 12px
.bn-modal-footer
modal.css
Press Escape to close
0.75rem = 12px
.segment-margin
transcript-annotations.css · lh 1.4
Margin annotation container
0.75rem = 12px
.help-section h3
help-overlay.css · 600 · ls 0.05em · UC
NAVIGATION
0.75rem = 12px
0.72rem — Badges / footer / mono UI
.badge
badge.css · mono
frustration
p1
0.72rem = 11.5px
.report-footer
footer.css
Generated by Bristlenose v0.9.3
0.72rem = 11.5px
.tag-suggest-item
tag-input.css · mono
onboarding-friction trust-signal
0.72rem = 11.5px
.tag-filter-count
tag-filter.css · mono
(12)
0.72rem = 11.5px
.participant-grid .p-box
analysis.css · mono · lh 1
p1 p2 p3 p4
0.72rem = 11.5px
0.7rem — Uppercase micro-labels
.signal-card-source
analysis.css · 400 · ls 0.04em · UC
SECTION
0.7rem = 11.2px
.group-total-label
codebook-panel.css · ls 0.04em · UC
TOTAL
0.7rem = 11.2px
.tag-filter-group-header
tag-filter.css · 600 · ls 0.03em · UC
SENTIMENTS
0.7rem = 11.2px
.bn-play-icon
report.css
▶
0.7rem = 11.2px
0.65rem — Micro badges / confidence / delete buttons
.confidence-badge
analysis.css · 600 · ls 0.04em · UC
STRONG
0.65rem = 10.4px
.margin-tags .badge
transcript-annotations.css · lh 1.4
frustration
0.65rem = 10.4px
.feedback-sentiment-label
feedback.css
Not useful Very useful
0.65rem = 10.4px
0.6rem — Delete × buttons
.badge-delete / .badge-ai::after
badge.css · 700 · lh 1
×
0.6rem = 9.6px
Relative units (em) — scale with parent
.edit-pencil-inline
button.css · 0.75em
Theme Name ✎
0.75em em
.coverage-segment .timecode
coverage.css · 0.85em · mono
[12:34]
0.85em em
.bn-sort-arrow
report.css · 0.65em
Name ▼
0.65em em
.footer-keyboard-hint kbd
footer.css · 0.85em · mono
?
0.85em em
Near-duplicate sizes (candidates for consolidation)
0.88rem vs 0.875rem (0.08px difference) — nav tabs vs search input / help text.
Could unify to 0.875rem (14px, a clean pixel value).
0.82rem vs 0.8rem (0.32px difference) — toolbar/filters/forms vs stat labels/timecodes/icons.
Could unify to 0.8rem (12.8px). Currently 14 selectors at 0.82, 8 at 0.8.
0.92rem (featured quote text) — one-off between 0.9rem and 0.95rem.
Could round to 0.9rem to match standard UI text.
1.05rem (signal card location) — one-off near h3 (1.1rem).
Could unify to 1.1rem.
1.25rem (help modal h2) — one-off between h2 (1.35rem) and h3 (1.1rem).
Could use 1.1rem to match other modal h2 (feedback).
0.78rem (filter actions, codebook subtitle) — one-off between 0.75rem and 0.8rem.
Could merge into 0.75rem.