From a83e3068cbc48432cf150395e40e05825998da55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Sat, 25 Jul 2026 09:11:33 +0200 Subject: [PATCH 01/10] feat(extension): add kilo-design token layer, fonts, and brand icon Wire Inter/Roboto Mono variable fonts via fontsource, define the kilo-design token set as a static @theme layer with type-* text-style utilities, add a JS token mirror for SVG consumers, and refresh the extension icon from old yellow (#EDFF00) to brand primary (#F7F586). --- .../entrypoints/sidepanel/design-tokens.ts | 12 ++ .../extension/entrypoints/sidepanel/style.css | 174 ++++++++++++++++-- apps/extension/package.json | 2 + apps/extension/public/icon/128.png | Bin 8384 -> 7105 bytes apps/extension/public/icon/16.png | Bin 1219 -> 1480 bytes apps/extension/public/icon/32.png | Bin 2679 -> 3336 bytes apps/extension/public/icon/48.png | Bin 3860 -> 4760 bytes apps/extension/public/icon/96.png | Bin 5458 -> 6089 bytes apps/extension/public/icon/icon.svg | 2 +- pnpm-lock.yaml | 18 +- 10 files changed, 194 insertions(+), 14 deletions(-) create mode 100644 apps/extension/entrypoints/sidepanel/design-tokens.ts diff --git a/apps/extension/entrypoints/sidepanel/design-tokens.ts b/apps/extension/entrypoints/sidepanel/design-tokens.ts new file mode 100644 index 0000000000..4c41cd2fe6 --- /dev/null +++ b/apps/extension/entrypoints/sidepanel/design-tokens.ts @@ -0,0 +1,12 @@ +/** + * JS-readable mirror of the style.css @theme token hexes needed by SVG/JS + * (context donut strokes + track). Keep in sync with + * entrypoints/sidepanel/style.css — enforced by design-token-drift.test.ts. + */ +export const DESIGN_TOKENS = { + statusGray500: '#71717A', + statusGreen500: '#22C55E', + statusRed500: '#EF4444', + statusYellow500: '#F0A900', + surfaceOverlay: '#333333', +} as const; diff --git a/apps/extension/entrypoints/sidepanel/style.css b/apps/extension/entrypoints/sidepanel/style.css index f44f92b5d8..399ef6ed78 100644 --- a/apps/extension/entrypoints/sidepanel/style.css +++ b/apps/extension/entrypoints/sidepanel/style.css @@ -1,4 +1,150 @@ @import 'tailwindcss'; +@import '@fontsource-variable/inter'; +@import '@fontsource-variable/roboto-mono'; + +/* static: emit all token CSS variables even when unused in this slice (S2 will use them). Not @theme inline — literals stay here. */ +@theme static { + /* surfaces */ + --color-surface-inset: #101010; + --color-surface-background: #151515; + --color-surface-raised: #202020; + --color-surface-overlay: #333333; + --color-surface-hover: #3a3a3a; + --color-surface-selected: #454545; + /* foreground */ + --color-foreground: #fafafa; + --color-foreground-muted: #a3a3a3; + --color-foreground-subtle: #7a7a7a; + --color-foreground-on-secondary: #fafafa; + --color-foreground-on-destructive: #ffffff; + /* border */ + --color-border: #ffffff1a; + --color-border-strong: #ffffff2e; + --color-input-bg: #ffffff0a; + /* brand */ + --color-brand-primary: #f7f586; + --color-brand-primary-hover: #e6e475; + --color-brand-primary-foreground: #1f1f1f; + --color-brand-primary-ring: #f7f58659; + /* status families */ + --color-status-blue-300: #93c5fd; + --color-status-blue-400: #60a5fa; + --color-status-blue-500: #3b82f6; + --color-status-blue-600: #2563eb; + --color-status-purple-300: #d8b4fe; + --color-status-purple-400: #c084fc; + --color-status-purple-500: #a855f7; + --color-status-purple-600: #9333ea; + --color-status-teal-300: #4ce7d7; + --color-status-teal-400: #00d4c2; + --color-status-teal-500: #00baa9; + --color-status-teal-600: #009689; + --color-status-gray-300: #d4d4d8; + --color-status-gray-400: #a1a1aa; + --color-status-gray-500: #71717a; + --color-status-gray-600: #52525b; + --color-status-orange-300: #fdba74; + --color-status-orange-400: #fb923c; + --color-status-orange-500: #f97316; + --color-status-orange-600: #ea580c; + --color-status-green-300: #86efac; + --color-status-green-400: #4ade80; + --color-status-green-500: #22c55e; + --color-status-green-600: #16a34a; + --color-status-yellow-300: #fdd94a; + --color-status-yellow-400: #fbc51c; + --color-status-yellow-500: #f0a900; + --color-status-yellow-600: #d28100; + --color-status-red-300: #fca5a5; + --color-status-red-400: #f87171; + --color-status-red-500: #ef4444; + --color-status-red-600: #dc2626; + /* syntax */ + --color-syntax-plain: #e8e8e8; + --color-syntax-comment: #7a7a7a; + --color-syntax-keyword: #ff9ae2; + --color-syntax-string: #ecf58c; + --color-syntax-number: #f2b36b; + --color-syntax-function: #93e9f6; + --color-syntax-type: #00ceb9; + --color-syntax-property: #9cdcfe; + --color-syntax-constant: #c792ea; + --color-syntax-operator: #a3a3a3; + /* diff */ + --color-diff-add-text: #9bcd97; + --color-diff-add-surface: #1a2919; + --color-diff-delete-text: #fc533a; + --color-diff-delete-surface: #42120b; + /* radius remap (do NOT set a --radius DEFAULT override; bare `rounded` already = 4px = sm) */ + --radius-sm: 4px; + --radius-md: 8px; + --radius-lg: 10px; + --radius-xl: 14px; + /* fonts */ + --font-sans: 'Inter Variable', Inter, system-ui, sans-serif; + --font-mono: 'Roboto Mono Variable', 'Roboto Mono', ui-monospace, monospace; +} + +@utility type-title { + font-family: var(--font-sans); + font-size: 1.5rem; + font-weight: 600; + line-height: 1.2; + letter-spacing: -0.015em; +} + +@utility type-heading { + font-family: var(--font-sans); + font-size: 1.125rem; + font-weight: 600; + line-height: 1.25; + letter-spacing: -0.01em; +} + +@utility type-body-lg { + font-family: var(--font-sans); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; +} + +@utility type-body { + font-family: var(--font-sans); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.5; +} + +@utility type-label { + font-family: var(--font-sans); + font-size: 0.75rem; + font-weight: 500; + line-height: 1.4; +} + +@utility type-eyebrow { + font-family: var(--font-sans); + font-size: 0.6875rem; + font-weight: 500; + line-height: 1.2; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +@utility type-code { + font-family: var(--font-mono) !important; + font-size: 0.875rem !important; + font-weight: 400 !important; + line-height: 1.5 !important; +} + +@layer base { + *, + ::before, + ::after { + border-color: var(--color-border); + } +} html, body, @@ -9,7 +155,8 @@ body, } body { - background: #09090b; + background: var(--color-surface-background); + font-family: var(--font-sans); margin: 0; } @@ -22,7 +169,7 @@ body { } .agent-conversation-scrollbar { - scrollbar-color: #52525b #09090b; + scrollbar-color: var(--color-surface-selected) var(--color-surface-background); scrollbar-width: thin; } @@ -31,17 +178,17 @@ body { } .agent-conversation-scrollbar::-webkit-scrollbar-track { - background: #09090b; + background: var(--color-surface-background); } .agent-conversation-scrollbar::-webkit-scrollbar-thumb { - background: #3f3f46; - border: 0.1875rem solid #09090b; + background: var(--color-surface-selected); + border: 0.1875rem solid var(--color-surface-background); border-radius: 9999px; } .agent-conversation-scrollbar::-webkit-scrollbar-thumb:hover { - background: #52525b; + background: var(--color-surface-hover); } .agent-message-markdown { @@ -56,6 +203,7 @@ body { } .agent-message-markdown :where(a) { + color: var(--color-status-blue-400); text-decoration: underline; text-underline-offset: 0.125rem; } @@ -75,16 +223,17 @@ body { } .agent-message-markdown :where(code) { - background: rgb(9 9 11 / 70%); + background: var(--color-surface-inset); border-radius: 0.25rem; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; - font-size: 0.75rem; + font-family: var(--font-mono); + font-size: 0.875rem; overflow-wrap: anywhere; padding: 0.125rem 0.25rem; } .agent-message-markdown :where(table) { /* display:block + overflow-x lets a wide table scroll inside its own box instead of stretching the panel. */ + /* font-size 0.75rem equals the contract label step (type-label). */ border-collapse: collapse; display: block; font-size: 0.75rem; @@ -93,19 +242,20 @@ body { } .agent-message-markdown :where(th, td) { - border: 1px solid rgb(63 63 70 / 100%); + border: 1px solid var(--color-border); padding: 0.25rem 0.5rem; text-align: left; } .agent-message-markdown :where(th) { - background: rgb(9 9 11 / 70%); + background: var(--color-surface-inset); font-weight: 600; } .agent-message-markdown :where(pre) { - background: rgb(9 9 11 / 70%); + background: var(--color-surface-inset); border-radius: 0.25rem; + font-family: var(--font-mono); overflow-x: hidden; padding: 0.5rem; white-space: pre-wrap; diff --git a/apps/extension/package.json b/apps/extension/package.json index c1a395c102..fd1a23c5c4 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -29,6 +29,8 @@ "postinstall": "wxt prepare" }, "dependencies": { + "@fontsource-variable/inter": "^5.3.0", + "@fontsource-variable/roboto-mono": "^5.3.0", "@modelcontextprotocol/sdk": "1.29.0", "@tanstack/react-query": "catalog:", "@tanstack/react-virtual": "^3.14.3", diff --git a/apps/extension/public/icon/128.png b/apps/extension/public/icon/128.png index 8dbb8fbcc2cbe55b1ff9ee20c40e81964f1eae68..2c36b3fccd5d1d159cd77c38a7b26e131a73e597 100644 GIT binary patch literal 7105 zcmbVx2TWAox9%AR7(l9sfD{K&Kzbi~6DiUedhZAb(t978QU#

AgvD=qL=*r8fbk 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 U)xmQxx)cB?zEqX1mN5(cH~;Tf_W%F@ literal 8384 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 ZUD#gVE}psKJur7Oc)I$ztaD0e0ss-;=Ewj5 diff --git a/apps/extension/public/icon/32.png b/apps/extension/public/icon/32.png index 6ff801a3d1955342dd9113a06318d0920c6f5387..9a6050774a04002c1dc1dea4636d139aa3bed16b 100644 GIT binary patch delta 3270 zcmZwKXE2;bT(K-U7d)sdX17uVx#x|E~^tn^i5{rlNxO}vuf3ex%L+xi0l74ARByU-^9002C| zz(@!F3yz>sly*3*!2DAQ1?boW+;a(VQ@ZQt_D=vZNEvxaq=KXj$^t2`gpya1QxHcY zm5@kyaF6!?08j6G?)O9gKLGzNg2a3e{t+Vood|IEbn_2z@$~us=--B4-BcI==tm5+ zH7p*^F6M{YWV^AGK+1k(ZX}B~^^A{(?F>>zq2{Yu5$k}Y=ewCJ4Q6sZb))iZBf|z4 zQP!U>ndj?bSil72j0T3^z!!pX@S$?+@S*Gv^5PC|8)^0xg6S zyM6pzu}j(Z%uR|?2kT~h(bRS5;|Z#Ucs-uvER7Pd+rx3OB3unC8wJJrY03T(nyk5t z_r?l+Xh`>0Sv!^mu)*!)TW>VYTMCa}4IEq?c3SYK-Tl3^ze~Z*f7tSMd}~HY61+@T z{N!OQD)Ftra|CgcR(xADQAnV`l$46-*c4??(TPkZN%6~^Og7HjH zt50;Zg%YKTWqJ4@+CZUcRGWiU3+a1)Tt(k({PFW-IAR$eW!NQNj*ED%-x>2m{-cI2 zlyy@?#he`)w|3!apIY3oQR%U`tOlZpfdzyE;+0YBO>J#QNTcb4= zGD1^rV?wS>IAXs3jQ8~rUVzoHIr>LYb8=(NZ2No&mL|4xb>e!N^zDIX_qi#M(xF`A zsu{-YV6n$#)Oi~$D5ML=u5|eQ!6}`s+dH_f|No*$21A70_0M%FGxG#TU=VN}L59?0vuQMNvQWugCoIA<91A!aeex zFrEcrgXEzrHb~|?Qs@qe)q7{$8`o%`VkyBVF4b2)$9ylXFXB`;u)h{?7DqC8HMIt| z2HgB`#=Lf_$yp!#XU~HRzErUU5@e3|w{TPBpb6}RRoUyOA2V8)#O-(dQl8B_w{?Np z-(i>WjD@WS3LIOI&9HoNu*S7fsP(i2t{;-GB4U)--`ZGIk6xXM9ggJW#!xM~b zF@DBn_YEeuwUX*RFT?vRLPjmhyahwe0e3h!$)W!El2hj=c?5cfU*7>!hWZ_#ZBA3y z2K8`icbu-L6k%?a7>^sd{QW789?sUCp?-08t&66z(XMJZQ-guoTbAznqEY{<7gc;N zgYhjUMVYfNlYQykn~rS?h0?J*mTbD_5;dmnJ!oQiCGi3?=Oq=|;d51{1CzSw$1)ce z?(X=uaD9-wVYwRzdy&d>5Rp$;Z~ zjI}NN;tP$&ryI628GwZaE1zT8Q>G)Ve~StX&4=#GV7DuIy|o*2rZ$@&s2u9E)}6fm zi^xuI+S(~tBm+Wkx7-hoLFKU(NS9nN5-kEdgCm-LIf1-CPmEPRTm)fY0l1N$TDnIXfg^yO94M_|o5p{lty92+Qi%zMPT)z@XgLlm%>QX(~U1mTQaJZWS-Men6 z$?tU?k7@y{fm09cK@d_BB{^arJtk{q-(X1myh6ViG$*DYipyP2wP)v~lAcW8B>xe4 zxIJ|b6k_(+pZ2QZgu3SBiN?4Xoc$;%vhN-puGejX9esrpUi`f*@WTJ<=;zT@0qFX> zjZb!;@G6o+y&Tx1nMeA7u5C2k2W0`XSX>+-?r{Myr7$J+@v@w~k)<-Esd=En0xnHe zP>iqyYi`v|eH1lSVO5^De$Z?qJTAkv4xd&BAFWbr-?-fl>*Zc7tAPckDH*0h#9pNx zr71eYjsVr$O8CRNn>wvPR6v%Y#!}x2JU%6!+6Nsmpe^EVep2Lnp?@#sN)|Jdt*>n- zECD;{>pa|%6x^ze^Z6_77r{fmynG;T5>dNhG8D^5K00YJkhRI|I`CN;S9#p{(bm1+S9dy6FMwd`iyQix4pbsSBqrts28RN8`f!cHivfd zD4+LH#WD*_#keP|rt&~vSB%tG^zr*UEIm>%n@<`v`I2K2qtC4Tv5#bs_LK1&Hi$5N z!>4^KwxH>9^7^KZ^#R_!(Y-T@O}i63&=tgq{NPz64vZ9t$Lm_mU%&F61v*D62Z&4^qqX{MJf<{#XOnfWk7xv<>b z=DCDm48T{1x1G%)7#??AZK^eT)03hrCx|;r(T?GHqb}^|{AINJ_%w`^v5ogWQe`}O zVx2@&?Gq>PDx~BGbVLvNn{*Y73;!{nw{7#g&zcAZfC)iY`L|#Hb!^-YU|Yj94{679 zz4~uCQi+dcb3KRXRHbP43gd3fta$%|QM>Bdo@Sq-@`({EZ@r2w7MqbVK{|a_gy@_q zHxV!5pqZ1UpN3~um{>Ua6dh?DdWrTLgVR^1v2sK2W)+EG%X!-``5EBb(@hs-lWgFq zx26Kc3r-NyLWe3e-QOqqCnhAkA7PS=C>U9Qc4(W}ZKs?Ijgz5S1uu7>_0K7-811eO zU&8qV!o4P)nG=lc#tvC|tWGurSGKyXj-SEpfKXyO4 z95K=AiF=R`-*U(ZB~UynC1b2K3?JuQ;OYS zc)NefmDwbif9H^fq3PmUw$@zx#32h|kMI2=aI@}yt>Hylv{cUDg7`(loVyJkHq7!} z6xj{Z=w!XQIwRSxOrjqFzm=)a`Vkkuw{_E_uxMz!3ujf;5wC1Q(@<_F#U344`UmEz zqP+dKrCeo1SQTMwdLNbL#z?Zv=qeo|H&lzB*$9x3lxnj^m_4{tE8l<%JIFt2Fs zKK2v*0^I>Pctbp)VYv8s$PqTOY8_hrqFJgoFwTS$DNyK-FAmfRJG@DHQuOYEDTarJ zkI<_+OwW+4fhi$vy0>vi{zP}Zy!sMi!X2?w+Xzm({9L-|dhaGzp!$`kZ9FU5dNUeF zYmTK5stM>`I1SD{@pV4qm!<{yONi1DzIm5kU|L!o##QtA^6t$ehgJCabX5}qAQ;PU zvYTU%+D}-14%X(Bl8l2gF}ZcUD*1Z+D|^Fyl0~00g$wE@={m;$JR6qbxc5ZjC0DG# zn+edfGB}rmG}C*ckZ*DKz+15|>eQ58;ww5W8=R9yEmvEse$qh}vZE*s2m+)oRpt#T zH8g34W+}bjP!R2A^n#%Ngp4BbpOuJW#YG!naZ}-c&Mh%44NtJtA`eEp#DZ}Hv<@H* z+LP{eW9AN#xTP-E5YMX?(yTY=kLCf@U7Z|{)3Ny2%gIb%dAuE{WW%%^)YX+Bs6#`Z nP*#k8$vZsp@GfxvV8>+Q+CVA%87%LgR{=24G1jiubdLEKGwlog delta 2595 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 diff --git a/apps/extension/public/icon/96.png b/apps/extension/public/icon/96.png index 3894322e18f20f3435f96b8a323114999f19dc86..a46be947e1b498e73fdf5a2a900de4b215c40a57 100644 GIT binary patch literal 6089 zcmaiYWmMGB*Y%Hqp}Tt+kOmo~2Z;fcl5|Mvk`RV&WGDfVkdp2e7&??jLXl7bX%Iwe z=q`PE{vY04&wB4#=kB%6U3;B-KiqTo-Lbmbs$|5>!~g)0sjI2z-=Woi1ttF7+(7s~ z=ngn+)%3LhAdm+D(2)Reb(cbK0)P(;0Jg0F0Gh9!_zHMj+!6TxX9aI3 zS9>pSYghOGo�T?hQzThWMh-sbzJnZrO08Qc`Ejm`!mbj^!9d( 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 Pv;p-;+A6h5R^k5xvRWd8 literal 5458 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 ZJ*E9gQg - + =14.0.0', npm: '>=7.0.0'} + '@fontsource-variable/inter@5.3.0': + resolution: {integrity: sha512-OupL48va4JNofb97w6NYeF9S7W/kHNKM0Er8Dem5nqi4jeOLrVJDoE8tZEpnMJmtkvNbB1EIPPwHcdkF6b1oUA==} + + '@fontsource-variable/roboto-mono@5.3.0': + resolution: {integrity: sha512-h5r+KY/6qy8JEOj33JgcrFO81YAnvrc1EAwMpl/EPJLb2OIvOy0/jmB5M7qs7x/uXk5JUP5Ux4LrkeOK7faHkQ==} + '@fregante/relaxed-json@2.0.0': resolution: {integrity: sha512-PyUXQWB42s4jBli435TDiYuVsadwRHnMc27YaLouINktvTWsL3FcKrRMGawTayFk46X+n5bE23RjUTWQwrukWw==} engines: {node: '>= 0.10.0'} @@ -19765,7 +19777,7 @@ snapshots: cjs-module-lexer: 1.2.3 esbuild: 0.27.4 miniflare: 4.20260603.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(esbuild@0.27.4)(jiti@2.7.0)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.4) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.5.2)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(esbuild@0.27.4)(jiti@2.7.0)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.4) wrangler: 4.98.0(@cloudflare/workers-types@4.20260605.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6) zod: 3.25.76 transitivePeerDependencies: @@ -20773,6 +20785,10 @@ snapshots: '@fluent/syntax@0.19.0': {} + '@fontsource-variable/inter@5.3.0': {} + + '@fontsource-variable/roboto-mono@5.3.0': {} + '@fregante/relaxed-json@2.0.0': {} '@google/genai@2.7.0(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(bufferutil@4.1.0)(utf-8-validate@6.0.6)': From 57a3ecf01719a34d63c5a0786b39c93a30a97ecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Sat, 25 Jul 2026 09:57:16 +0200 Subject: [PATCH 02/10] feat(extension): align shell and auth surfaces with kilo-design tokens Apply the plan's brand matrix to the app shell: canvas/chrome surface ladder, brand logo, filled-secondary icon buttons, auth card/OTP wells, status-yellow warning banner, and the global brand focus-ring recipe. --- .../sidepanel/agent-chat-panel.tsx | 8 +-- .../entrypoints/sidepanel/auth-shell.tsx | 34 ++++++------- .../entrypoints/sidepanel/auth-views.tsx | 50 ++++++++----------- 3 files changed, 44 insertions(+), 48 deletions(-) diff --git a/apps/extension/entrypoints/sidepanel/agent-chat-panel.tsx b/apps/extension/entrypoints/sidepanel/agent-chat-panel.tsx index 1dbd01507f..4239785d78 100644 --- a/apps/extension/entrypoints/sidepanel/agent-chat-panel.tsx +++ b/apps/extension/entrypoints/sidepanel/agent-chat-panel.tsx @@ -3,6 +3,7 @@ import { storage } from '#imports'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import type { JSX, ReactNode } from 'react'; import { useAtomValue, useSetAtom, useStore } from 'jotai'; +import { AlertTriangle } from 'lucide-react'; import { compactingConversationIdsAtom, contextUsageAtomFamily, @@ -778,8 +779,9 @@ export const AgentChatPanel = ({ {remoteMcpToolWarning === undefined ? null : ( -

- {remoteMcpToolWarning} +

+

)} @@ -791,7 +793,7 @@ export const AgentChatPanel = ({ onSubmit={submitDraft} /> -