# dsh-gemini-m3e-theme
A **Google Gemini–style Material 3 Expressive theme** for the
[DeepSeek Harness](https://github.com/deepseek-ai) Web UI, shipped as a
persistent **client bundle** plugin.
It restyles the whole web surface toward Gemini's "luminous" look — palette,
typography, shapes, glow, motion and pointer interactions — without touching a
single line of Harness product code. Everything rides the official extension
points, so it installs cleanly, survives restarts, and uninstalls with no trace.
> This repository's README defaults to Chinese: [README.md](README.md)
---
## Preview
---
## Features
| System | What it does |
|---|---|
| **Palette** | 71 dual-tone tokens (light/dark) matching Gemini's `luminous` surface/container/on-surface/primary values; borders are tonal, not drawn |
| **Typography** | Google Sans Text → Google Sans → Roboto → system fallback; Google Sans Mono for code; M3E markdown hierarchy (headings at 400 weight, body line-height 1.5) |
| **Shape** | 40px composer, 40px user bubble, 28px menus with 20px concentric items, 999px pill buttons/triggers, 32px dialogs/settings panel, 16px tool blocks |
| **Glow & motion** | Luminous radial hero glow; menu-in / dialog-in / staggered rise animations on the M3E emphasized curve `cubic-bezier(.05,.7,.1,1)` |
| **Interactions** | Precise point ripple (button-pill & menu scoped), smooth width+height pane transitions via `interpolate-size`, edge-fade + fade-in scrollbars |
| **Elevation** | One soft-shadow spec shared by menus, dialogs and the composer — light on white, present on dark; dialogs drop their border ring |
---
## How it works
The bundle uses two official Harness extension channels:
1. **Theme tokens** — `ctx.theme.overrideTokens(source, tokens)` overrides the
`--dsw-*` CSS variables (colors, font stacks, markdown type ramp); the
Gemini palette is always on.
2. **Own styles + DOM JS** — `installStyles()` injects one `