fix(lan-client): compact phase pills, wrap NEXT PHASE/NEXT TURN labels
The phase track (BEGIN · MAIN 1 · COMBAT · END) was losing labels to
ellipsis on narrow top bars, and the primary action buttons were
clipping "NEXT PHASE"/"NEXT TURN" because they had white-space: nowrap
and a fixed height.
.phase-step:
- tighter padding (1px 5px) and gap (2px)
- no letter-spacing, smaller border-radius, flex-shrink: 1 so pills
compress uniformly when the top bar is crowded
- merged duplicate .phase-step.active rule and made it bolder so the
active step still reads well after the shrink
.btn-phase (NEXT PHASE / NEXT TURN):
- white-space: normal + word-break: break-word enable two-line wrap
- height: auto + min-height: 34px lets the label breathe inside
the 44px top bar
- min-width: 64px / max-width: 80px keeps the buttons square-ish
- display: flex centers the wrapped text vertically & horizontally
- align-items: stretch on .top-bar-actions so both buttons match
the tallest sibling's height
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
d308e8f413
commit
4cae97ab44
1 file changed
+28
-9
+28
-9
@@ -218,23 +218,24 @@ input { font-family: inherit; }
|
||||
}
|
||||
|
||||
.phase-step {
|
||||
flex: 1;
|
||||
flex: 1 1 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 3px;
|
||||
padding: 3px 5px;
|
||||
gap: 2px;
|
||||
padding: 1px 5px;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
color: var(--color-text-faint);
|
||||
border-radius: var(--radius-sm);
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
letter-spacing: 0;
|
||||
transition: background 0.15s, color 0.15s;
|
||||
position: relative;
|
||||
min-width: 0;
|
||||
flex-shrink: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
@@ -244,7 +245,12 @@ input { font-family: inherit; }
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
.phase-step.active { color: #fff; }
|
||||
.phase-step.active {
|
||||
color: #fff;
|
||||
padding: 1px 6px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.phase-step.done { color: var(--color-text-faint); opacity: 0.5; }
|
||||
|
||||
.phase-connector {
|
||||
@@ -258,6 +264,7 @@ input { font-family: inherit; }
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
flex-shrink: 0;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.btn-phase {
|
||||
@@ -266,11 +273,23 @@ input { font-family: inherit; }
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
color: var(--color-text-muted);
|
||||
font-size: 10px;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
white-space: nowrap;
|
||||
letter-spacing: 0.03em;
|
||||
/* Allow two-word labels (Next Phase / Next Turn) to wrap on two lines
|
||||
instead of being clipped or forcing a wide button. */
|
||||
white-space: normal;
|
||||
word-break: break-word;
|
||||
text-align: center;
|
||||
line-height: 1.15;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: auto;
|
||||
min-height: 34px;
|
||||
min-width: 64px;
|
||||
max-width: 80px;
|
||||
}
|
||||
|
||||
.btn-phase:hover {
|
||||
|
||||
Reference in new issue
Block a user