From 9b148144fafa47bac85a3648b35aa794c1227b0f Mon Sep 17 00:00:00 2001 From: Suzumiya Date: Mon, 5 Oct 2026 02:06:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=84=A6=E7=82=B9=E7=8E=AF=E5=8A=A0=202px=20?= =?UTF-8?q?=E9=97=B4=E9=9A=99=EF=BC=9A=E8=AF=BB=E6=88=90=E3=80=8C=E5=AE=9E?= =?UTF-8?q?=E5=BF=83=E9=92=AE=20+=20=E7=8B=AC=E7=AB=8B=E7=8E=AF=E3=80=8D?= =?UTF-8?q?=E8=80=8C=E4=B8=8D=E6=98=AF=E7=A9=BA=E5=BF=83=E9=92=AE=EF=BC=88?= =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E5=8F=8D=E9=A6=88=202=20=E4=B9=8B=E5=9B=9B?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `:focus-visible` 的圆钮阴影改成三明治:`0 0 0 2px var(--platform-input-fill)`(间隙,卡片/输入区填色的既有**颜色** token)+ `0 0 0 4px var(--platform-input-focus-ring)`(环色与厚度不变,WCAG 对比度不回退)+ 原暖影 - 踩坑记录在注释里:间隙色**不能**用 `--platform-panel-fill`——它是 `linear-gradient`,写进 `box-shadow` 会让整条声明失效(环和影子一起消失,实测键盘态环与投影全丢) - Firefox 同步:`::-moz-focus-outer { border: 0 }` 关掉轨道自带描边,`::-moz-range-thumb` 用同一套三明治 - 取证(无头 Chromium + 像素扫描):键盘态中档 y=289 行色序 199,101,61(填充) → 182,98,62(影) → 250,242,236(**间隙**) → 229,210,195(钮描边) → 252,248,244(**钮内暖白**) → … → 300:182,98,63(**环**) → 231,213,198(未选段);鼠标拖拽态同位置只有 252,248,244 钮白 + 柔影、无任何主色 - 校验:typecheck;`workbenchThemeContrast` + `chatDialogFrameLayout` + `appSurface` 共 215 passed / 9 skipped;prettier / encoding / spacetime-schema / diff-check 全通过 --- apps/ai-game-creator-shell/src/styles.css | 26 +++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/apps/ai-game-creator-shell/src/styles.css b/apps/ai-game-creator-shell/src/styles.css index 443e94eff..eca129672 100644 --- a/apps/ai-game-creator-shell/src/styles.css +++ b/apps/ai-game-creator-shell/src/styles.css @@ -13749,9 +13749,13 @@ details.design-agent-reasoning[open] .project-chat-surface.is-direct-codex .project-chat-composer.is-direct-codex .project-chat-composer-strength-range:focus-visible::-webkit-slider-thumb { - /* 焦点环与暖影一起给:`box-shadow` 是单值属性,只写环会把实心钮的影子抹掉。 */ + /* 「白钮 + 间隙 + 环」三明治:先铺一圈 2px 卡片底色当间隙,再叠焦点环——否则 3px 环 + 紧贴 20px 白钮会被读成"空心钮/靶心"。间隙色只能用**颜色** token + (`--platform-panel-fill` 是渐变,写进 `box-shadow` 会让整条声明失效、连环和影子一起丢), + 所以取 `--platform-input-fill`;环色与厚度不变,对比度不回退。 */ box-shadow: - 0 0 0 3px var(--platform-input-focus-ring), + 0 0 0 2px var(--platform-input-fill), + 0 0 0 4px var(--platform-input-focus-ring), 0 2px 6px rgb(112 57 30 / 24%); } @@ -13797,6 +13801,24 @@ details.design-agent-reasoning[open] 0 1px 2px rgb(112 57 30 / 16%); } +/* Firefox 的焦点:先关掉轨道自带的 focus-outer 描边,再给圆钮同一套「间隙 + 环」。 */ +.game-workbench-chat + .project-chat-surface.is-direct-codex + .project-chat-composer.is-direct-codex + .project-chat-composer-strength-range::-moz-focus-outer { + border: 0; +} + +.game-workbench-chat + .project-chat-surface.is-direct-codex + .project-chat-composer.is-direct-codex + .project-chat-composer-strength-range:focus-visible::-moz-range-thumb { + box-shadow: + 0 0 0 2px var(--platform-input-fill), + 0 0 0 4px var(--platform-input-focus-ring), + 0 2px 6px rgb(112 57 30 / 24%); +} + /* 档位点:纯装饰(命中与吸附由原生 range 负责),个数跟着档位契约走, 所以用 `grid-auto-flow: column` 而不是写死 5 列。 */ .game-workbench-chat