Custom CSS reference
What your custom CSS can lean on: these variables and parts stay the same from release to release. Class names are not part of this and change without notice.
Rules
- Your CSS applies to your library, its gallery and request form, your status pages and the embed widget -- never to your own screens, emails, labels or the share card.
- Every selector is placed inside your pages’ box; html, body and :root mean the box itself. The platform’s notices -- the footer, the cookie banner, Report, the request form’s privacy lines, a requester’s own controls, "powered by" -- are outside it.
- Only @media, @supports, @container and @keyframes. Nothing that loads anything: no url(), image(), image-set(), @import or @font-face.
- font-family may name only the hosted fonts below, or a generic family such as sans-serif. A page downloads a font only when your CSS names it.
- At most 20 KB and 1,000 rules. Your rules win over the pages’ own without !important; !important is allowed.
- Under reduced motion, animation and transitions are turned off whatever your CSS says.
Example
:root {
--brand-canvas: #fbf7f2;
--brand-surface: #ffffff;
--brand-border: #e8dccf;
--brand-text: #2b1a12;
--brand-text-muted: #6b5a50;
--brand-accent: #7a3e1d;
--brand-accent-text: #7a3e1d;
--brand-radius: 14px;
--brand-font: Poppins, sans-serif;
--brand-heading-font: "Playfair Display", serif;
}
[data-part="request-button"] {
border-radius: 999px;
}