Applying and removing styles
Styles apply in this order: selected template, basic brand color, custom CSS. Valid draft changes preview immediately on the real public page. Save changes publishes appearance only and closes the dialog. Cancel, the close button, Escape or clicking outside closes without saving. After saving, use the Feature requests and Release notes links to inspect the other public views. Clear Custom CSS and save to return to the template and basic branding. The dialog uses standard modal behavior, including a dimmed backdrop without blur and keyboard focus containment. Its Light/Dark dropdown also sets the dialog’s theme. The dialog and color picker use the canonical template palette in an isolated shadow root; public CSS and brand colors do not restyle their controls. CSS changes presentation; it does not add content, scripts or behavior.Semantic variables
Use:root variables such as --background, --foreground, --card, --card-foreground, --popover, --popover-foreground, --muted, --muted-foreground, --border, --input, --ring, --primary, --primary-foreground, --font-heading, and --radius. Public actions and selected votes use --public-brand-accent, --public-brand-surface, and --public-brand-foreground when a brand color is set. Basic branding also sets --ring to the brand surface for focused input borders and focus rings. Set those roles too when overriding action colors.
Stable selectors
html[data-public-template="light"] and html[data-public-template="dark"] identify the selected template. The content root has data-public-page="feedback-list", "discussion", "release-list", or "article".
Use [data-public-part="..."] for these named regions:
Shared primitive
data-slot hooks include button, input, textarea, dialog-content, sheet-content, select-content, dropdown-menu-content, and toast slots. Use accessibility states such as [aria-current="page"], [aria-pressed="true"], and :disabled. Vote buttons expose data-vote-direction="up|down"; basic branding preserves the existing negative-vote color. Selected vote scores expose [data-selected="true"]. Private Tailwind utility classes are not a stable API.
Fonts and images
HTTPS font and image URLs, site-root paths beginning with/, and fragment references beginning with # are permitted. External stylesheet imports (@import), HTTP resources, protocol-relative URLs, data: and script schemes are not supported. Write font declarations directly: