/* Domain 4 primitive styles. Reuse the .prim vocabulary in styles.css;
   only genuinely new classes belong here. Tokens only, never literal hex. */

/* horizontal measure bars — the value is a width in user units, fixed in the markup */
.prim .trk{fill:var(--rule-soft)}
.prim .val{fill:var(--teal)}
.prim .val.ok{fill:var(--good)}
.prim .val.mid{fill:var(--amber)}
.prim .val.hi{fill:var(--pencil)}
.prim .num{font-family:var(--f-mono);font-size:18px;fill:var(--ink-2);text-anchor:end}

/* a code fragment quoted under a criterion, pushed back so the criterion stays the headline */
.prim .code{font-family:var(--f-mono);font-size:17px;fill:var(--ink-3);text-anchor:start}
.prim .code.good{fill:var(--good)}
.prim .code.bad{fill:var(--pencil)}

/* PromptDiff's centre column: highlighter stock rather than plate, because it has to
   read louder than the two panels it sits between */
.prim .card.delta rect{fill:var(--mark);stroke:var(--amber);stroke-width:3}
.prim .card.delta .hd{fill:var(--ink-2)}

/* an unwritten panel — same footprint, dashed and empty */
.prim .ghostbox{fill:none;stroke:var(--rule);stroke-width:2;stroke-dasharray:9 9}

/* the batch window: any completion inside it is permitted, none is promised */
.prim .span{fill:var(--teal-soft);stroke:var(--teal);stroke-width:1.6}
.prim .tick{stroke:var(--rule);stroke-width:2}

/* a completion inside the batch window — a point in time, not a bar */
.prim .dot{fill:var(--teal);stroke:var(--plate);stroke-width:2}
.prim .dot.bad{fill:var(--pencil)}
