{# ============================================================================
atoms.html — Jinja macros for every atomic primitive
Import in templates: `{% from 'atoms.html' import wordmark, glyph, pill %}`
Every atom is pure markup — no inline CSS, all classes come from
components.css.
============================================================================ #}
{# glyph — red typographic punctuation. Use for ★ / → / ▲ / + / →·← inside body flow #}
{% macro glyph(char) -%}
{{ char }}
{%- endmacro %}
{# arrow — lead arrow (→, →→, →▪) rendered in accent. Use inside labels / meta pointers #}
{% macro arrow(char='→') -%}
{{ char }}
{%- endmacro %}
{# label — uppercase eyebrow above a section head or card #}
{% macro label(text) -%}
{{ text }}
{%- endmacro %}
{# wordmark — brand name typeset in-place with optional red glyph + optional trademark tail.
size: sm | md | default | lg | xl (default maps to no modifier; 18px) #}
{% macro wordmark(brand, glyph_char='', size='', tm=false, with_break=false) -%}
{{ brand }}{% if with_break %}
{% endif %}{% if glyph_char %} {{ glyph_char }}{% endif %}{% if tm %}™{% endif %}
{%- endmacro %}
{# pill — compliance / status badge. variant: solid | outline | dark #}
{% macro pill(text, variant='solid') -%}
{{ text }}
{%- endmacro %}
{# button — filled dark CTA. variant: '' | ghost | small #}
{% macro button(label, variant='') -%}
{%- endmacro %}
{# link-arrow — the default wireframe CTA. variant: '' (→▪) | plain (→) #}
{% macro link_arrow(label, variant='') -%}
{{ label }}
{%- endmacro %}
{# media-box — plain grey placeholder (NO X cross-lines).
variant: '' | dark | tall | wide
label: optional text rendered inside the box (e.g. "UI Image Snippet") #}
{% macro media_box(label='', variant='') -%}