The news in your app (the button, the panel, <tayori-news>) and the public page take their look from tayori.css. Every colour, space, radius and font is a --tayori-* custom property: set them on .tayori-panel, .tayori-button or higher.

@import "../../deps/tayori/priv/static/tayori.css";

:root {
  --tayori-accent: #0f766e;
  --tayori-radius: 4px;
}

The defaults have no specificity, so a value set anywhere wins. They are the defaults of Kotoba, Koyomi and Jumon, so that a page with them all looks like one thing. The body of each entry is Kotoba content: Tayori gives it the news's colours, and kotoba.css styles it.

The properties

Type

PropertyDefaultUse
--tayori-fontthe system'sthe text
--tayori-title-font--tayori-fontthe titles
--tayori-monothe system'scode
--tayori-font-size1remthe text
--tayori-small0.875remdates, categories
--tayori-tiny0.75remthe smallest
--tayori-line-height1.6
--tayori-weight400the text
--tayori-title-weight600the titles
--tayori-title-tracking-0.015emthe titles
--tayori-title-line-height1.25the titles

Colours

PropertyDefaultUse
--tayori-text#1f1f23the text
--tayori-muted#6b6b76dates, hints
--tayori-background#ffffffthe panel, the page
--tayori-surface#f6f6f7categories, hovers
--tayori-canvas#f6f6f7behind the cards
--tayori-border#d9d9delines
--tayori-rule#ececefthe rules between entries
--tayori-accent#2f5bd3links, buttons
--tayori-accent-text#fffffftext on the accent
--tayori-attention, --tayori-attention-textthe accentthe count on the button, the New mark
--tayori-danger, --tayori-successerrors, confirmations
--tayori-gray, --tayori-red, --tayori-orange, --tayori-amber, --tayori-green, --tayori-teal, --tayori-blue, --tayori-purple, --tayori-pinkthe colours of the categories

Shape and space

PropertyDefaultUse
--tayori-radius6pxbuttons, inputs
--tayori-radius-inner4pxsmall things
--tayori-radius-card10pxcards
--tayori-radius-panel12pxthe panel
--tayori-radius-media8pxcovers, images
--tayori-space0.5rem
--tayori-icon-size18pxthe icons
--tayori-panel-width27rem
--tayori-page-width46remthe column of the public page
--tayori-shadow, --tayori-shadow-card, --tayori-shadow-panel
--tayori-focus-ringthe focus

Dark mode

The defaults are light, and dark under data-theme="dark" (the attribute of Phoenix's themes) or the class dark. To follow the system instead:

@media (prefers-color-scheme: dark) {
  :root {
    --tayori-text: #ececf1;
    --tayori-background: #1b1b1f;
    /* ... */
  }
}

The Sumi theme

Sumi is the design system of Hattori AI, the makers of Tayori, Kotoba, Koyomi and Jumon. Import it after tayori.css:

@import "../../deps/tayori/priv/static/tayori.css";
@import "../../deps/tayori/priv/static/tayori-sumi.css";

It gives every property a Sumi value, from the Sumi tokens of your page (--font-body, --color-sumi-blade, the Sumi daisyUI themes), else from short --sumi-* names your page sets, else from its own palette: paper and ink, Outfit for the text and Cormorant Garamond for the titles, and the blade for what needs attention (the count, the New mark). It follows data-theme, then prefers-color-scheme. It loads no fonts.

The admin

The admin has its own styles, in Tayori's theme or Sumi's (tayori_admin "/news", theme: :sumi); your CSS does not reach it.

Classes

The classes are stable: .tayori-button, .tayori-badge, .tayori-panel, .tayori-panel-header, .tayori-panel-body, .tayori-news, .tayori-entry, .tayori-entry-meta, .tayori-new, .tayori-category, .tayori-entry-title, .tayori-entry-body, .tayori-more, and on the public page .tayori-page.

Forced colours and motion

In forced colours, the badge, the New mark and the panel have borders. With reduced motion, the panel appears without its slide.