# ui.brvo.app > A small CSS/JS UI library: native HTML elements styled inside `.ui`, variants as data attributes, everything in `@layer ui` so the page's own CSS always wins. Modern browsers only. No build step. ## Install ```html
``` `/v1/` never changes once released; `/latest/` follows every change. Theme with `data-theme="light|dark"` on any element (default: the system's), density with `data-density="compact|comfortable"`, and by setting `--ui-*` tokens. ## Rules - Write plain HTML elements; add `data-variant`, `data-size` and the like for variants. Classes exist only for layout primitives and a few composites listed below. - Never use `!important`: unlayered page CSS already wins. ## Tokens - `--ui-bg`: `light-dark(#ffffff, #0d0e10)` (Färg) - `--ui-bg-2`: `light-dark(#f7f7f8, #141517)` (Färg) - `--ui-bg-3`: `light-dark(#efeff1, #1b1c1f)` (Färg) - `--ui-border`: `light-dark(#e3e4e7, #232428)` (Färg) - `--ui-border-strong`: `light-dark(#cfd0d4, #34353a)` (Färg) - `--ui-fg`: `light-dark(#1b1c1f, #e8e8ea)` (Färg) - `--ui-fg-2`: `light-dark(#5f6168, #9a9ca3)` (Färg) - `--ui-fg-3`: `light-dark(#8b8d94, #686a71)` (Färg) - `--ui-accent`: `light-dark(#5e6ad2, #7c86ec)` (Färg) - `--ui-accent-fg`: `#ffffff` (Färg) - `--ui-danger`: `light-dark(#d93f3c, #f0605d)` (Färg) - `--ui-success`: `light-dark(#1f9d63, #43c487)` (Färg) - `--ui-warning`: `light-dark(#b7791f, #e2b340)` (Färg) - `--ui-info`: `light-dark(#2f7fd6, #5aa2ef)` (Färg) - `--ui-font`: `Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif` (Typografi) - `--ui-mono`: `"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace` (Typografi) - `--ui-text`: `13px` (Typografi) - `--ui-text-sm`: `12px` (Typografi) - `--ui-text-lg`: `15px` (Typografi) - `--ui-leading`: `1.5` (Typografi) - `--ui-weight`: `400` (Typografi) - `--ui-weight-strong`: `550` (Typografi) - `--ui-radius`: `6px` (Form) - `--ui-radius-sm`: `4px` (Form) - `--ui-radius-lg`: `10px` (Form) - `--ui-line`: `1px` (Form) - `--ui-h`: `28px` (Form) - `--ui-h-sm`: `24px` (Form) - `--ui-h-lg`: `32px` (Form) - `--ui-pad`: `10px` (Form) - `--ui-gap`: `8px` (Form) - `--ui-space`: `4px` (Form) - `--ui-ease`: `cubic-bezier(.2, .7, .3, 1)` (Rörelse) - `--ui-fast`: `120ms` (Rörelse) - `--ui-slow`: `220ms` (Rörelse) - `--ui-shadow`: `0 1px 2px light-dark(rgb(0 0 0 / .06), rgb(0 0 0 / .4))` (Djup) - `--ui-shadow-lg`: `0 8px 28px light-dark(rgb(0 0 0 / .12), rgb(0 0 0 / .5)), 0 0 0 var(--ui-line) var(--ui-border)` (Djup) - `--ui-focus`: `0 0 0 2px var(--ui-bg), 0 0 0 4px color-mix(in srgb, var(--ui-accent) 70%, transparent)` (Djup) ## Grund ### Typografi (`typography`) Rubriker, text, kod och tangenter: grundstilen inuti .ui. Allt inuti ett element med klassen `.ui` får bibliotekets typsnitt, storlek och färg. Rubriker är täta och raka; brödtexten är 13 px som i Linear. - `.muted` och `.subtle`: två nivåer av dämpad text. - Typsnittet är `--ui-font` (Inter om sidan laddar det, annars systemets). Biblioteket laddar inga typsnitt själv. - Storlekar: `--ui-text` (13px), `--ui-text-sm` (12px), `--ui-text-lg` (15px). ```htmlBrödtext är 13 px med radavstånd 1.5. Fet, länk, kod, markerat och ⌘ K.
Dämpad text för sekundär information.
Liten, svag text · 12 px
const ui = await import("https://ui.brvo.app/v1/ui.js");