feat(FN-3042): scale board typography and improve theme selector accessibil

Completes Step 2 of FN-3042 by scaling board typography styles across TaskCard and QuickEntryBox components, adding a new CustomModelDropdown stylesheet, and introducing keyboard focus-visible styles for theme selector controls. The merge includes new regression tests for board font scaling, resolve

Fusion-Task-Id: FN-3042
This commit is contained in:
Fusion
2026-04-30 23:22:22 -07:00
committed by gsxdsm
parent d2848ca1d7
commit c0ff899fbb
9 changed files with 177 additions and 64 deletions

View File

@@ -67,14 +67,14 @@
.card-id {
display: inline-block;
font-size: 11px;
font-size: 0.6875rem;
font-weight: 600;
color: var(--text-muted);
font-family: var(--font-mono);
}
.card-title {
font-size: 13px;
font-size: 0.8125rem;
line-height: 1.4;
word-break: break-word;
}
@@ -85,7 +85,7 @@
align-items: center;
gap: var(--space-sm);
margin-top: var(--space-sm);
font-size: 11px;
font-size: 0.6875rem;
color: var(--text-dim);
position: relative;
z-index: 1;
@@ -94,7 +94,7 @@
.card-status-badge {
display: inline-flex;
align-items: center;
font-size: 10px;
font-size: 0.625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
@@ -170,7 +170,7 @@
.card-size-badge {
display: inline-flex;
align-items: center;
font-size: 10px;
font-size: 0.625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
@@ -199,7 +199,7 @@
.card-priority-badge {
display: inline-flex;
align-items: center;
font-size: 10px;
font-size: 0.625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.4px;
@@ -225,7 +225,7 @@
.card-execution-mode-badge {
display: inline-flex;
align-items: center;
font-size: 10px;
font-size: 0.625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.4px;
@@ -252,14 +252,14 @@
background: color-mix(in srgb, var(--color-error) 10%, transparent);
border: var(--btn-border-width) solid color-mix(in srgb, var(--color-error-dark) 25%, transparent);
border-radius: var(--radius-sm);
font-size: 11px;
font-size: 0.6875rem;
color: var(--color-error-dark);
line-height: 1.4;
}
.card-error-icon {
flex-shrink: 0;
font-size: 12px;
font-size: 0.75rem;
}
.card-error-text {
@@ -336,7 +336,7 @@
display: inline-flex;
align-items: center;
gap: 3px;
font-size: 11px;
font-size: 0.6875rem;
color: var(--triage);
position: relative;
cursor: default;
@@ -363,7 +363,7 @@
display: inline-flex;
align-items: center;
gap: 3px;
font-size: 11px;
font-size: 0.6875rem;
color: var(--in-progress);
position: relative;
cursor: default;
@@ -380,7 +380,7 @@
border: 1px solid var(--border);
border-radius: var(--radius-sm);
padding: var(--space-xs) var(--space-sm);
font-size: 11px;
font-size: 0.6875rem;
white-space: nowrap;
z-index: 10;
pointer-events: none;
@@ -393,7 +393,7 @@
display: inline-flex;
align-items: center;
gap: 3px;
font-size: 10px;
font-size: 0.625rem;
font-weight: 600;
font-family: var(--font-mono);
color: var(--badge-mission-text);
@@ -436,7 +436,7 @@
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 10px;
font-size: 0.625rem;
font-weight: 600;
color: var(--text-muted);
background: color-mix(in srgb, var(--text-muted) 18%, transparent);
@@ -483,7 +483,7 @@
border: none;
background: transparent;
color: var(--text-muted);
font-size: 12px;
font-size: 0.75rem;
cursor: pointer;
min-width: 0;
flex: 1 1 auto;
@@ -521,7 +521,7 @@
border-radius: var(--radius-pill);
background: color-mix(in srgb, var(--text-muted) 12%, transparent);
color: var(--text-muted);
font-size: 11px;
font-size: 0.6875rem;
font-weight: 600;
font-family: var(--font-mono);
line-height: 1;
@@ -543,7 +543,7 @@
}
.card-progress-label {
font-size: 11px;
font-size: 0.6875rem;
font-weight: 600;
color: var(--text-muted);
font-family: var(--font-mono);
@@ -561,7 +561,7 @@
background: none;
border: none;
cursor: pointer;
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
font-size: 0.6875rem;
color: var(--text-muted);
transition: color var(--transition-fast);
}
@@ -596,7 +596,7 @@
display: flex;
align-items: center;
gap: 6px;
font-size: 12px;
font-size: 0.75rem;
}
.card-step-dot {
@@ -649,7 +649,7 @@
padding: 0 var(--space-xs);
border-radius: var(--radius-pill);
border: 1px solid var(--border);
font-size: calc(var(--space-sm) + var(--space-xs) * 0.25);
font-size: 0.5625rem;
color: var(--text-muted);
background: var(--surface);
white-space: nowrap;
@@ -718,7 +718,7 @@
background: transparent;
border: 1px solid transparent;
color: var(--text);
font-size: 13px;
font-size: 0.8125rem;
font-family: inherit;
outline: none;
resize: none;
@@ -823,7 +823,7 @@
padding: calc(var(--space-xs) / 4)
calc(var(--space-sm) - (var(--space-xs) / 2));
margin-left: var(--space-xs);
font-size: calc(var(--space-sm) + (var(--space-xs) / 2));
font-size: 0.625rem;
font-weight: 500;
background: var(--card);
border: 1px solid var(--border);
@@ -865,7 +865,7 @@
padding: calc(var(--space-xs) / 4)
calc(var(--space-sm) - (var(--space-xs) / 2));
margin-left: var(--space-xs);
font-size: calc(var(--space-sm) + (var(--space-xs) / 2));
font-size: 0.625rem;
font-weight: 500;
background: var(--card);
border: 1px solid var(--border);
@@ -909,7 +909,7 @@
display: block;
width: 100%;
padding: 6px 12px;
font-size: 12px;
font-size: 0.75rem;
font-weight: 400;
color: var(--text);
background: transparent;
@@ -934,7 +934,7 @@
align-items: center;
gap: var(--space-sm);
margin-top: var(--space-xs);
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
font-size: 0.6875rem;
color: var(--text-muted);
}
@@ -948,7 +948,7 @@
}
.card-edit-loading-text {
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
font-size: 0.6875rem;
color: var(--text-muted);
}
@@ -1009,7 +1009,7 @@
}
.card-progress-label {
font-size: 10px;
font-size: 0.625rem;
min-width: 30px;
}
@@ -1024,12 +1024,12 @@
.card-time-indicator {
padding: var(--space-xs) var(--space-sm);
font-size: 10px;
font-size: 0.625rem;
}
/* Card: smaller status badges for 280px width */
.card-status-badge {
font-size: 9px;
font-size: 0.5625rem;
padding: 1px 6px;
}