Open Settings → Appearance in the admin panel:
public/favicon.ico, public/favicon.svg, public/images/icon-*.png).Images are stored in public/media/branding under random names. Nothing needs rebuilding and updates keep your
choices.
Settings → Appearance → Default look chooses how pages open before a visitor uses the light/dark switch: following the visitor's device (the default), always light or always dark. The admin panel follows it too.
The whole look — the public site, the member area and the admin panel — comes from a theme: a folder in
resources/css/themes (the default is soft3d). All colors live in its tokens.css as named tokens
(--brand-500, --primary, --accent-500, --canvas, --neutral-*…), with a dark-mode block. The Appearance
setting above overrides the brand tokens; for anything else (accent color, surfaces, category colors), change the
values, then rebuild the stylesheets on your computer:
npm install
npm run build
Upload the new public/build folder. (Node.js is only needed on your computer, never on the server.)
Two themes are included: Soft 3D (emerald, soft depth; the default) and Pastel Pop (lavender and coral, rounded type, playful pictures). Settings → Appearance shows the installed themes as a gallery: pick one, save, and every page changes at once (no rebuild). The same page sets the corners (as the theme draws them, sharp or extra round) and turns the decorative animations on or off for the whole site.
To make a theme of your own, copy resources/css/themes/soft3d to a new folder, change its theme.json and
tokens.css, and rebuild: the gallery then lists it. A theme can also bring its own pictures
(public/themes/{theme}/art/*.svg) and draw chosen parts of the pages its own way
(resources/views/themes/{theme}/…). The step-by-step guide is resources/css/themes/README.md.
Each theme's pictures are SVG files in public/themes/{theme}/art (for the default theme, public/themes/soft3d/art):
the shared ones (file icons, padlock, cloud…) and one per tool (tool-merge-pdf.svg…). To change one, replace the
file with an SVG of your own under the same name and upload it: no rebuild is needed. A theme without a picture shows
the default theme's. Which shared picture a tool falls back to is set in app/Modules/Tools/config.php (artwork).
The shipped pictures are drawn as code in scripts/theme-art/{theme}.mjs; to change colors or shapes there, run
node scripts/theme-art/soft3d.mjs on your computer and upload the new files. Pictures are never mirrored in
right-to-left languages because some contain letters.
Upload your logo in Settings → Appearance (see above). Without an uploaded logo, the folded-sheet mark and the
site name are drawn by resources/views/components/site/logo.blade.php; you can also replace that SVG with your own
(keep aria-hidden="true"; the site name stays as text for accessibility and SEO).
For small changes to the look, write your own CSS in Settings → Analytics & custom code → Custom CSS. It applies
to the site and the member area right away, after the theme's styles (so your rules win), and never to the admin
panel. It is kept in the database, so updates keep it. Use the theme's tokens to stay in step with the brand color
and dark mode, for example border-color: var(--brand-500).
The words of every e-mail are edited in Settings → E-mail templates (see Configuring).
Their look comes from resources/views/vendor/mail/html/themes/pagemint.css. Set MAIL_MARKDOWN_THEME=default
in .env to return to Laravel's plain theme.
Keep your changes in a list: after an update, re-apply changes made to files (translations and settings made in the admin panel are kept automatically).