# Scrabble Game — UI design system Visual and interaction conventions for the `ui` client. Behaviour lives in [`FUNCTIONAL.md`](FUNCTIONAL.md); cross-service architecture (including the global points this doc references) lives in [`ARCHITECTURE.md`](ARCHITECTURE.md). The client is **pure HTML5/CSS + Unicode** — no image/font/SVG assets; icons are CSS shapes or emoji glyphs. Tokens are CSS custom properties (`ui/src/app.css`), light/dark via `prefers-color-scheme` or an explicit Settings choice, and **Telegram-themed**: on a Telegram Mini App launch — the app is served under `/telegram/` and detects the launch by `Telegram.WebApp.initData` — the SDK's `themeParams` override the tokens at runtime; on that path without sign-in data (no `initData` — outside Telegram, or a Mini App launch that delivered none, as seen on some Android clients) the app renders a compact, shareable launch-diagnostic screen (`screens/TelegramLaunchError.svelte`) rather than redirecting to the site root. `telegram-web-app.js` is loaded **dynamically with a timeout**, only on a Telegram entry — not a render-blocking `