{# Prism badges (stage B, 2026-10-16). Colour is never the only signal: every badge has a mark and a word. #}
{% macro st_badge(st) -%}
{%- set M = {'g': ['good', '●', '일치'], 'w': ['warn', '▲', '주의'], 'b': ['bad', '■', '불일치'], 'n': ['dash', '◇', '근거 없음'], 'x': ['', '—', '해당 없음'], '?': ['dash', '◇', '앱 확인 전']} -%}
{%- set m = M.get(st, M['n']) -%}
{{ m[1] }}{{ m[2] }}
{%- endmacro %}
{% macro grade_badge(g) -%}
{%- set M = {'A': ['good', '●', '등급 A'], 'B': ['warn', '▲', '등급 B'], 'C': ['dash', '◇', '등급 C']} -%}
{%- set m = M.get(g, M['C']) -%}
{{ m[1] }}{{ m[2] }}
{%- endmacro %}
{% macro human_badge(s) -%}
{%- if s.confirmed -%}●확정
{%- elif s.info -%}확정 불필요(참고)
{%- elif s.stale -%}◆변경됨 · 재확정 필요
{%- else -%}미확정{%- endif -%}
{%- endmacro %}