/* wordle-solver/page.css — what sieve.css cannot carry for this one route.

   ROUTE-LOCAL BY THE STAGE-2 BUDGET RULE (solvers.js's header): sieve.css is
   loaded by every page here, so a route's rule written there spends eight
   routes' headroom at once. Everything reusable is reused — .rack-*, .notes,
   .results, .working, .disclosure, .word-*, .len-*, .more — with sieve.css's
   A3.11 reservations. No new tokens; terse comments, hard byte ceiling. */

#greens { width: 8ch; }   /* five squares, not a fifteen-tile rack */

/* One box per square, so "not in square 3" is a position, not a syntax. */
.slots { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: flex-end; margin: 0 0 0.6rem; }
.slot { display: flex; flex-direction: column; gap: 0.15rem; font-family: var(--mono);
  font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-soft); }
.slot-lead { align-self: center; font-size: 0.86rem; color: var(--ink-soft); margin-right: 0.2rem; }
.slot-in { letter-spacing: 0.1em; text-transform: uppercase; text-align: center; width: 5ch; }

/* SPECIFICITY, NOT ORDER, DECIDES THIS. kit/base.css styles `input[type=text]`
   at (0,1,1), out-specifying sieve.css's `.rack-input` (0,1,0), so `font:
   inherit` beats the mono face however late sieve.css loads; matching the
   element ties it, and page.css loads last. Route-local — the same cascade
   de-monos /word-unscrambler/'s rack today, a finding for integration. */
input.rack-input, input.slot-in { font-family: var(--mono); font-size: 1rem; }
input.slot-in { padding: 0.4rem 0.3rem; }

/* The method sentence sits inside the reserved results panel, so its count
   needs no reservation. The score is dim but printed: hidden figures would
   make the ranking an assertion. */
.method { font-size: 0.86rem; color: var(--ink-soft); margin: 0 0 0.7rem; }
.score { color: var(--ink-soft); font-size: 0.8em; margin-left: 0.3rem; }

/* A3.11 — ZERO CLS. sieve.css reserves the panel, the overlay, the working
   line and the disclosure band; it cannot reserve THIS readout, whose widths
   are per-id. Each box ↔ the fact that bounds it:
     Locked 5ch      always CLUE_LEN slots, "_" printed for an empty one
     Elsewhere 13ch  more than CLUE_LEN accounted letters is refused, so five
                     yellows is the most that arrives: "abcde/_/_/_/_"; a
                     REFUSED set is dashed, not echoed — which holds it
     Ruled out 10ch  a COUNT: the alphabet bounds the letters, the box does not
     Candidates 5ch  the shard holds 8,636 words
   Disclosure and overlay need no rule: this route's disclosure states (217 and
   204 characters) and its longest sentence (cluesContradict, 210) are inside
   stage 1's measured maxima — 245 for the band, 217 for a note that measured
   159 px in the 288 px panel. drive.js recomputes the second. */
#r-locked, #r-else, #r-ruled, #r-count { display: inline-block; }
#r-locked { min-width: 5ch; }
#r-else { min-width: 13ch; }
#r-ruled { min-width: 10ch; }
#r-count { min-width: 5ch; }
