{
  "id": "keywords/stylesheet",
  "mentions": [
    {
      "context": "…eme.yaml already carries the name, the logo, the favicon, the font families, the corner radius, the light and dark palettes, the footer and an extra stylesheet.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "The command writes index.html, one page per slot and state, the stylesheet under assets/site.css and the island bundles next to it, in ./gallery by default (--o…",
      "file": {
        "href": "../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../specs/screens/pages/gallery-index/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "stylesheet",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…d, colour never carrying information alone, targets of 40 px read from the stylesheet for every interactive element, the main content served as text before any …",
      "file": {
        "href": "../../glossary/publication/site/accessibility-audit/index.html",
        "label": "publication/site/accessibility-audit.md"
      },
      "href": "../../glossary/publication/site/accessibility-audit/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "stylesheet",
      "title": "Accessibility audit",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… under the assets of its theme and binds them with @font-face rules in its stylesheet, and the default theme emits no request to any other host. The two familie…",
      "file": {
        "href": "../../specs/decisions/publication/self-hosted-fonts/index.html",
        "label": "decisions/publication/self-hosted-fonts.md"
      },
      "href": "../../specs/decisions/publication/self-hosted-fonts/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "stylesheet",
      "title": "Self-hosted fonts",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…n shows inert when neither is known. The project locale, the project profile and the project stylesheet are the ones this block, the profile and the theme name.",
      "file": {
        "href": "../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "../../glossary/ingestion/configuration/project/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "stylesheet",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s corner radius, its light and dark palettes, its footer and an additional stylesheet loaded after the tool's own. The build validates it against the theme sche…",
      "file": {
        "href": "../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "../../glossary/publication/site/theme/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "stylesheet",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Layers: the stylesheet of the project is loaded last, in the fourth cascade layer, so that nothing in the default theme can outrank it.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…islands for the interactive parts only, cascade layers so that the project stylesheet wins by construction, and content that stays reachable without JavaScript.…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ght and dark palettes, checked for contrast at build.  Footer text, footer links, an extra stylesheet, label overrides.  Theme override model · 2026-08-27 · 3/6",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L3",
      "kind": "recognised",
      "line": 3,
      "location": "p. 3",
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…tch.  Four cascade layers: tokens, base, components, project.  The project stylesheet is loaded last and wins by construction.  Theme override model · 2026-08-2…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L5",
      "kind": "recognised",
      "line": 5,
      "location": "p. 5",
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ght and dark palettes, checked for contrast at build.  Footer text, footer links, an extra stylesheet, label overrides.  Theme override model · 2026-08-27 · 3/6",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…tch.  Four cascade layers: tokens, base, components, project.  The project stylesheet is loaded last and wins by construction.  Theme override model · 2026-08-2…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Slide two is what exists: theme.yaml. Name, logo, favicon, the font families, the corner radius, the light and dark palettes, the footer, an extra stylesheet.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L3",
      "kind": "recognised",
      "line": 3,
      "location": "10:15",
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "And the stylesheet of the project wins by construction. Four cascade layers: tokens, base, components, project. The project layer is last, so nothing in the def…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "location": "34:30",
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ped view models, islands for the interactive parts only, and cascade layers so that the project stylesheet wins. Without javascript the content stays reachable.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "location": "48:45",
      "passages": 10,
      "surface": "stylesheet",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…. The pages use a neutral palette and the labels of the default theme; the stylesheet follows the system colour scheme, the switch in the header forces one, and…",
      "file": {
        "href": "../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../specs/screens/pages/gallery-index/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "stylesheet",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…te and the fixture chrome with the project's name, logo, favicon, palette, stylesheet, footer and credit. Every page is measured against the budget and run thro…",
      "file": {
        "href": "../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../specs/screens/pages/gallery-index/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 3,
      "surface": "stylesheet",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…cluded. Six test files, one per criterion, render the gallery and read the stylesheet; the gallery command fails on any finding, so a theme author runs it after…",
      "file": {
        "href": "../../glossary/publication/site/accessibility-audit/index.html",
        "label": "publication/site/accessibility-audit.md"
      },
      "href": "../../glossary/publication/site/accessibility-audit/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "stylesheet",
      "title": "Accessibility audit",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… of its own reads in them from the disk. A test checks that no page and no stylesheet references a font host. The site therefore works from the disk, behind a p…",
      "file": {
        "href": "../../specs/decisions/publication/self-hosted-fonts/index.html",
        "label": "decisions/publication/self-hosted-fonts.md"
      },
      "href": "../../specs/decisions/publication/self-hosted-fonts/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "stylesheet",
      "title": "Self-hosted fonts",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…lies by loading them from a public font host, as most static sites do: one stylesheet link, no file to ship. Superseded by self-hosted fonts: a page that fetche…",
      "file": {
        "href": "../../specs/decisions/publication/fonts-from-a-third-party-host/index.html",
        "label": "decisions/publication/fonts-from-a-third-party-host.md"
      },
      "href": "../../specs/decisions/publication/fonts-from-a-third-party-host/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "stylesheet",
      "title": "Fonts from a third-party host",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…n four cascade layers, tokens, base, components and project, the project's stylesheet winning every cascade by construction. Without JavaScript the content stay…",
      "file": {
        "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "stylesheet",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…nt families, corner radius, light and dark palettes, footer and additional stylesheet all come from theme.yaml, validated by the theme schema; a faulty key is r…",
      "file": {
        "href": "../../specs/decisions/publication/white-label-by-default/index.html",
        "label": "decisions/publication/white-label-by-default.md"
      },
      "href": "../../specs/decisions/publication/white-label-by-default/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "stylesheet",
      "title": "White label by default",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…sation: writes theme.yaml, ships the fonts and the icons, adds the project stylesheet, or overrides a slot with a component of a plugin theme, and checks the re…",
      "file": {
        "href": "../../specs/roles/publication/theme-author/index.html",
        "label": "roles/publication/theme-author.md"
      },
      "href": "../../specs/roles/publication/theme-author/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "stylesheet",
      "title": "Theme author",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…drawer, the tree and every block are native disclosure elements, which the stylesheet keeps open where the layout has room, so that the folding needs no script …",
      "file": {
        "href": "../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../specs/screens/pages/entity-page/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "surface": "stylesheet",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… citation lands on, else the first, and a browser without the selector the stylesheet relies on shows them one under the other; once its script runs, the select…",
      "file": {
        "href": "../../specs/screens/pages/meeting-page/index.html",
        "label": "screens/pages/meeting-page.md"
      },
      "href": "../../specs/screens/pages/meeting-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "surface": "stylesheet",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…he dark scheme is displayed. Its script reads the scheme in force from the stylesheet, whatever decided it, the theme's default, the system preference or a reme…",
      "file": {
        "href": "../../specs/screens/panels/colour-scheme/index.html",
        "label": "screens/panels/colour-scheme.md"
      },
      "href": "../../specs/screens/panels/colour-scheme/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "stylesheet",
      "title": "Colour scheme",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
