{#- Embed-degradation banner, shared by every page via base.html. Renders zero bytes unless the context carries a non-empty embed_banner (the embed_ladder.degradation_banner() line: rung / reason / remediation), so healthy pages stay byte-identical — every block tag here carries whitespace control because the include site's junction is byte-pinned. Inline styles reuse the badge-warn recipe and the theme's --warn token (dark-theme safe) because the banner must live in the templates only. The status link rides the store seam (links.url) and inherits the banner's warn color inline. notice() is the shared status recipe (settings' saved/error states reuse it). -#} {%- import "_links.html" as links with context -%} {% macro notice(text, kind='warn', role='status', element='p', class_name='', href='', link_label='') -%} <{{ element }}{% if class_name %} class="{{ class_name }}"{% endif %} role="{{ role }}" style="margin: 0 0 1rem; padding: 0.6rem 0.9rem; border: 1px solid color-mix(in srgb, var(--{{ kind }}) 32%, transparent); border-radius: var(--radius); background: color-mix(in srgb, var(--{{ kind }}) 12%, transparent); color: var(--{{ kind }}); font-size: 0.85rem; font-weight: 600;">{{ text }}{% if href %} {{ link_label }}{% endif %} {%- endmacro %} {%- if embed_banner %}{{ notice(embed_banner, element='div', class_name='embed-banner', href=links.url('/embeddings'), link_label='open Embeddings status') }} {% endif %}