# 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

Light theme Dark theme

--- ## 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 `