
/* ---- THE LAST-ROLLS ROW (collar round, owner 2026-08-27: "add last
   numbers to the top like most dice games") ------------------------------
   The row's RETURN ruling, its entrance fix and its feed are documented at
   #hist in index.html and paintHist() in game.js; this file is only the
   pills' own material. The number carries the verdict's colour and the
   pill stays quiet — dice-build-spec §5's rule ("colour on the number
   only, win/loss") relaxed by exactly one step: the win pill takes a low
   gold wash so a glance reads the row's shape without reading digits,
   the way the reference operators' rows do. Losses are the ledger grey
   (--loss, the TEXT ink — never the board's ember, which belongs inside
   the goo filter and nowhere else). Newest is LAST, flush right; the
   entrance is the hin pop the door pills already use, on the newest pill
   only (data-new — paintHist marks exactly one per settle). */
/* THE ROW'S OWN LABEL (owner, 2026-08-27: "add something for last rounds at
   the top (small text)"). The house caption face — the WIN CHANCE caption's
   exact recipe (50-readouts .orwCap) — reading LAST ROUNDS, the clock door's
   own sheet title: one name for one concept. LABEL AND PILLS ARE ONE
   RIGHT-ANCHORED LOCKUP (review, 2026-08-27): the first cut pinned the
   label to the measure's LEFT edge with margin-right:auto, which made the
   gap between name and named a function of the ROW'S WIDTH — 560px of sky
   at the 720x405 spawn with one roll, an orphan naming nothing in exactly
   the state a fresh window is in most. The label now sits immediately
   left of the leading (oldest) pill — the row's flex gap plus the 6px
   here, ~12px total — travelling inward as pills accumulate, so at one
   pill the name is right there next to it and the newest pill's flush-
   right glance target never moves (§25f asserts the gap with a floor AND
   a ceiling, at 1 and 3 pills, at both spawn frames).
   IT IS WRITTEN BY paintHist() WITH THE PILLS AND ONLY WITH THEM — no
   pills, no label, no node (the no-orphaned-glyph rule; the orphan
   state-walk in check-dice asserts it). */
.hlab{margin-right:calc(6px*var(--scc,1));
  font:600 calc(9px*var(--scc,1))/1 var(--ui);
  letter-spacing:.14em;text-transform:uppercase;color:#666C7E;
  white-space:nowrap}
.hp{flex:none;display:inline-flex;align-items:center;justify-content:center;
  min-width:calc(52px*var(--scc,1));height:calc(24px*var(--scc,1));
  padding:0 calc(11px*var(--scc,1));border-radius:999px;
  background:rgba(255,255,255,.05);
  font:700 calc(12px*var(--scc,1))/1 var(--fig);font-variant-numeric:tabular-nums;
  color:var(--loss)}
.hp[data-w="1"]{background:rgba(243,195,63,.13);color:var(--win)}
/* WIN ROUND (W5): the wash reads the win's TIER — paintHist stamps
   data-mag off the same EDGE_NUM/cU pricing settle() uses, so the row's
   shape says not just where the wins are but how big they were. T1 and T2
   keep the base .13 (an ordinary win is an ordinary pill); T3 steps to
   .20; T4 to .30 with a gold hairline — the one win a glance should snag
   on. The ink stays var(--win) throughout: the ladder lives in the
   GROUND, the number never changes voice. */
.hp[data-mag="3"]{background:rgba(243,195,63,.20)}
.hp[data-mag="4"]{background:rgba(243,195,63,.30);
  box-shadow:inset 0 0 0 1px rgba(243,195,63,.35)}
.hp[data-new]{animation:hin .3s cubic-bezier(.2,1.4,.4,1)}

/* THE SMALL-FRAME ANSWER IS COMPACTION, NOT SHEDDING — decided on renders
   (work/dice/shots/collar-land): at 380x300 the compact row costs the
   budget ~17px and the figure keeps its floor, while shedding it would
   make the docked window — the frame a multi-tabling player actually sits
   at — the one size without the record the owner just ruled back. The
   pills step down with the chrome's own density flag. */
#frame[data-tiny] .hp{min-width:38px;height:17px;padding:0 8px;font-size:10px}
#frame[data-tiny] #hist{min-height:17px;gap:4px}
/* AT data-narrow THE LABEL SHEDS — the WIDTH rung, and only that one.
   Found rendering the lockup fix at 380x300 with 7 pills: the compact
   pills alone are ~314px in a 340px measure, so ANY label — the
   left-pinned first cut included, which was already clipped to a "DS"
   remnant at this state — overflows the row's left edge and is cut to
   garbage lettering by the overflow:hidden clip. Nothing may render as
   a fragment: the record keeps every pill unclipped, and the name waits
   for a frame with room to say it (§25f-2's 380x300 leg asserts both).
   The gate is data-narrow (w<560), NOT data-room=min or data-tiny —
   both of those are set at the 720x405 DEFAULT SPAWN, where the lockup
   fits with 278px to spare; game.js's own scar at the flag split says
   it: "720x405 is short but not narrow, and answering it as narrow is
   what deleted ... the history strip from the default window". It is
   also 70-dock's own precedent: "what sheds at data-narrow is the
   caption, never a key" (.hzCap) — and this is a caption; every
   not-narrow frame holds the full 7-pill lockup (>=402px in a >=516px
   measure), while the narrow rung mostly cannot. */
#frame[data-narrow] .hlab{display:none}

/* PORTRAIT (mobile round): the strip is READ on a phone — it is the only
   record on the board — so it steps back UP from the tiny rung's 17px
   pills (portrait phones are all data-tiny by width) to a legible 26px row.
   Same specificity as the tiny rung, later in the file: wins by order.
   THE COUNT PAYS FOR THIS SIZE (casino-manager fix round, 2026-08-27):
   seven 52px pills never fit a phone measure, and the flat 7 cap left the
   overflow clip painting a sliver of the second-oldest pill at every port
   frame from 6 rolls on. paintHist() now fits whole pills to the row's
   real width (oldest evicted whole, newest kept, the label yielding
   first) — this file keeps only the pills' material, never their count. */
#frame[data-port] #hist{min-height:26px;gap:6px}
#frame[data-port] .hp{min-width:52px;height:26px;padding:0 11px;font-size:13px}
