{# Hand-drawn SVG primitives. Paths are copied verbatim from design_handoff_agent_drop/prototype/tokens.jsx. The handoff says: "They're deliberately imperfect and shouldn't be re-drawn by hand." So don't tidy them up. Don't simplify. Don't regenerate. Whimsy is pinned at 10 for Agent Drop, so these render unconditionally — no threshold gating here. Call sites should wrap in a container with `position: relative` for the absolutely-positioned primitives (hand_circle, pen_underline). #} {# Imperfect hand-drawn circle — drawn behind the "N new" counter and similar emphasis marks. Absolutely positioned so it sits behind the foreground text; callers provide the `position: relative` context. #} {% macro hand_circle(color="var(--color-peach-deep)", size=36, stroke_width=2) -%} {%- endmacro %} {# Wobbly pen underline — sits beneath source tags / meta labels. Width is driven by `length_chars * 7.3`, matching the prototype's ~7.3px per-char heuristic. Absolutely positioned at bottom: -4px of its container. #} {% macro pen_underline(length_chars=10, color="var(--color-peach)") -%} {%- set w = (length_chars * 7.3) | round(2) -%} {%- endmacro %} {# Brush mark — decorative hand-drawn stroke for urgent / high priority. Two overlapping paths: main stroke (3.2 width, 0.85 opacity) + undertone (1.4 width, 0.35 opacity). Two size variants per the handoff: 48x14 for urgent, 28x10 for high. #} {% macro brush_mark(variant="urgent", color="var(--color-peach-deep)") -%} {%- if variant == "high" -%} {%- set w = 28 -%} {%- set h = 10 -%} {%- else -%} {%- set w = 48 -%} {%- set h = 14 -%} {%- endif -%} {%- endmacro %} {# Loose arrow — empty-state curved arrow, rotated 8 degrees. Paths copied verbatim from tokens.jsx LooseArrow. #} {% macro loose_arrow(color="var(--color-ink-mute)", width=90, height=60) -%} {%- endmacro %}