{% from "partials/_macros.html" import card_header %} {% set grade_styles = { 'A': 'text-emerald-300 border-emerald-800 bg-emerald-900/30', 'B': 'text-lime-300 border-lime-800 bg-lime-900/30', 'C': 'text-amber-300 border-amber-800 bg-amber-900/30', 'D': 'text-orange-300 border-orange-800 bg-orange-900/30', 'F': 'text-red-300 border-red-800 bg-red-900/30', } %}
{{ card_header("posture score") }} {% if risk %} {% set gstyle = grade_styles.get(risk.grade, grade_styles['F']) %} {% set delta = (risk.score - risk.prev_score) if risk.prev_score is not none else none %}
{{ risk.grade }}
{{ risk.score }} / 100 {% if delta is not none and delta != 0 %} {% if delta > 0 %}▲ +{{ delta }}{% else %}▼ {{ delta }}{% endif %} {% elif delta == 0 %} — no change {% endif %}
{% if spark_points %}
last {{ trend_len }} run(s)
{% endif %}
{% if risk.explanation %}

{{ risk.explanation }}

{% endif %} {% if drivers %}
what's costing points
{% else %}

No posture weaknesses detected.

{% endif %} {% else %}
no posture score yet — computed at the end of the next run.
{% endif %}