Polish: session names take 900 weight serif-off; floating controls match graph chrome
- .font-title now requests font-weight: 900 — with the serif toggle OFF, the prose font is a VARIABLE font and was rendering titles at 400, a whisper next to CMU's bold-only face; 900 lands directly on Source Sans 3 and CMU's single 700 face snaps to nearest, unchanged. Same rendering with serif on, real weight with it off. - The model + thinking pills match the graph view's floating top-right chrome (import notes / gear / coverage): border bg-card/85 shadow-lg backdrop-blur — the graph no longer bleeds through the pills. - The dictate button gets the same blurring at lower opacity (bg-card/50 backdrop-blur), staying quieter than the model pills. Gates: tsc clean, 866/866, lint 0, build ok. Live-verified: pills/dictate computed styles byte-identical to the reference chrome (bg .85/.5 alpha + blur(8px) + same shadow stack); title requests 900 in both serif states.
This commit is contained in:
@@ -178,6 +178,16 @@ body {
|
||||
line-height: var(--lh-prose-leading);
|
||||
}
|
||||
|
||||
/* Session-name weight (owner, fix wave round 3): with the serif toggle
|
||||
OFF, --font-title resolves to the prose font — Source Sans 3 is loaded
|
||||
as a VARIABLE font, and without an explicit weight the titles render at
|
||||
400, a whisper next to CMU's bold-only face. Request 900: the variable
|
||||
font takes it, and CMU (a single 700 face) snaps to its nearest
|
||||
available weight — the same rendering it already had. */
|
||||
.font-title {
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.lh-prose :where(strong, b) {
|
||||
color: var(--lh-ink-strong);
|
||||
font-weight: 700;
|
||||
|
||||
@@ -459,7 +459,9 @@ export function DictationBar({ dictation }: { dictation: Dictation }) {
|
||||
title={error ?? "Dictate into the composer"}
|
||||
aria-label={error ? `Dictation failed: ${error}` : "Start dictation"}
|
||||
data-testid="dictation-toggle"
|
||||
className="flex h-7 w-full items-center justify-center gap-1.5 rounded-md border border-border/50 text-xs text-muted-foreground/70 transition-colors hover:border-border hover:text-muted-foreground"
|
||||
// Same blurring as the floating chrome (owner, fix wave round 3),
|
||||
// but lower opacity — the mic stays quieter than the model pills.
|
||||
className="flex h-7 w-full items-center justify-center gap-1.5 rounded-md border border-border/50 bg-card/50 text-xs text-muted-foreground/70 shadow-lg backdrop-blur transition-colors hover:border-border hover:text-muted-foreground"
|
||||
>
|
||||
<MicIcon className="size-3.5" />
|
||||
<span className="max-w-full truncate">{error ?? "Dictate"}</span>
|
||||
|
||||
@@ -247,7 +247,11 @@ export function ModelControl() {
|
||||
onClick={() => openMenu("model")}
|
||||
aria-expanded={open === "model"}
|
||||
title="Strong tier model (prober + teacher) — set app-wide"
|
||||
className="flex items-center gap-1.5 rounded-full border border-border/60 bg-card/70 px-2.5 py-1 transition-colors hover:border-border hover:bg-muted"
|
||||
// Chrome look (owner, fix wave round 3): matches the graph
|
||||
// view's floating top-right buttons (import notes, gear,
|
||||
// coverage) — blurred, fuller opacity, shadowed — so the
|
||||
// graph no longer bleeds through these pills.
|
||||
className="flex items-center gap-1.5 rounded-full border bg-card/85 px-2.5 py-1 shadow-lg backdrop-blur transition-colors hover:border-border hover:bg-muted"
|
||||
>
|
||||
<span className="text-card-foreground">{effectiveId ? prettyModel(effectiveId) : "—"}</span>
|
||||
<span aria-hidden className="text-xs text-muted-foreground">▾</span>
|
||||
@@ -263,7 +267,11 @@ export function ModelControl() {
|
||||
}}
|
||||
aria-expanded={open === "thinking"}
|
||||
title="Strong tier thinking level — set app-wide"
|
||||
className="flex items-center gap-1.5 rounded-full border border-border/60 bg-card/70 px-2.5 py-1 transition-colors hover:border-border hover:bg-muted"
|
||||
// Chrome look (owner, fix wave round 3): matches the graph
|
||||
// view's floating top-right buttons (import notes, gear,
|
||||
// coverage) — blurred, fuller opacity, shadowed — so the
|
||||
// graph no longer bleeds through these pills.
|
||||
className="flex items-center gap-1.5 rounded-full border bg-card/85 px-2.5 py-1 shadow-lg backdrop-blur transition-colors hover:border-border hover:bg-muted"
|
||||
>
|
||||
{/* Just the level — the button reads like the model button reads
|
||||
the model name (owner, stats-control round 1). */}
|
||||
|
||||
Reference in New Issue
Block a user