/* ============================================================
   THE TIER BADGE: ONE COMPONENT, FOUR SURFACES

   THE ONLY TIER TREATMENT ON THE SITE. Enqueued unconditionally by
   holod_ds_components(), last in the component list so it sits below the
   surfaces that place it.

   WHAT IT REPLACED. Four surfaces drew the tier four ways: a pale
   per-tier tint on the card, and one navy-on-tint chip, identical for
   every tier, on the profile hero, the directory row and the account
   list. The tiers are sold as a ladder; a badge that prices Bronze and
   Platinum identically renders perfectly and is a commercial defect.

   THE TREATMENT TODAY: a PALE TINT with dark ink of the same hue, one pair
   per tier, at 11px/600 in mixed case with no letter-spacing worth the name,
   3px 9px of padding and a 4px radius. All four tiers are tints; platinum is
   one of them.

   IT IS DELIBERATELY QUIET, and that is the whole of the current design. The
   badge sits beside a company name in a list and the previous revision
   outweighed it: saturated fill, bold uppercase with .6px tracking, a leading
   dot, and a dark inverted platinum that made the top tier the highest
   contrast element on the page. Each was minor. All four at once were not, so
   all four were reduced at once on 2026-08-22.

   WHAT THAT COSTS, recorded rather than glossed: PLATINUM NO LONGER DIFFERS
   BY KIND. The ladder reads by hue alone, and nothing about a Platinum badge
   says «top» to a reader who does not know the vocabulary. If that signal is
   wanted it has to come from somewhere other than this badge.

   CONTRAST IS CARRIED ENTIRELY BY THE INK. The fills are barely there, so
   every pair is measured against its own ink and not against white, which the
   check enforces. Light fills under WHITE text were measured once and
   rejected at 1.94, 1.50 and 1.54 against a 4.5 threshold; that is why the
   ink is per-tier rather than the fills simply having been lightened.

   IT SHIPPED BEHIND A FEATURE FLAG AND THAT FLAG IS GONE, removed
   2026-08-22 because it was the wrong tool: this changes a class and a
   colour, writes no data, alters nothing a third party sees, and reverts
   in one commit. The four rules it kept alive (.rfi-card__badge--*,
   .rfi-co-hero__tier, .rfi-crow__tier, .rfi-acc-cotier) went with it,
   along with the eight --rfi-tier-v1-* tokens they read.

   Standard never reaches this stylesheet: holod_tier_badge_markup()
   returns '' for it.
   ============================================================ */

/* ONE RULE, ONE TREATMENT, NO PER-SURFACE SIZES. Everything below the colour
   is set here and nowhere else: see the context modifiers at the foot of this
   file, which now carry position only.

   `text-transform` is ABSENT ON PURPOSE, not omitted. The label arrives from
   holod_tier_label() already cased as it should read, «Bronze», «Silver»,
   «Gold», «Platinum», and uppercasing it in CSS was one of the four things
   that made this badge shout.

   `border-radius` is --rfi-radius-xs, whose own comment in tokens.css names
   badges as its purpose and which computes to exactly the 4px asked for
   (--rfi-radius 8px, minus 4). A literal 4px here would be the same pixel
   today and would stop following the design system tomorrow.

   `display: inline-flex` survives the dot's removal with one job left,
   centring a single text node against the padding box; `flex: none` matters
   as a flex ITEM, in .rfi-crow__top and .rfi-acc-corow__main, so it stays. The
   `gap` went with the dot: there is nothing left to space. */
.rfi-tierbadge {
  display: inline-flex; align-items: center;
  flex: none;
  font-family: var(--rfi-font-ui); font-size: 11px; font-weight: 600;
  letter-spacing: .01em; line-height: 1;
  padding: 3px 9px; border-radius: var(--rfi-radius-xs); white-space: nowrap;
}

/* THE LEADING DOT IS GONE, removed 2026-08-22, and this note stands in its
   place so it is not reintroduced as an improvement. It was a 5px circle in
   `currentColor` before the label. On its own it was a small thing; with the
   saturated fill, the uppercase and the letter-spacing it was the fourth of
   four, and four small things are how a badge ends up outweighing the company
   name it is attached to. Nothing replaced it: the tier is the badge's own
   text and a bullet before one word says nothing that word does not. */

/* ---- the four tiers ----------------------------------------
   The whole ladder, cheapest first, so the file reads in the order the
   tiers are sold. EACH TIER SETS BOTH HALVES OF ITS PAIR, fill and ink,
   on one line: they are a single decision and splitting them across two
   places is how a fill gets changed without its ink.

   Platinum is the one dark fill, inverted so the top tier differs by KIND
   and not by shade. It has 0 records site-wide and is declared for the same
   reason its tokens are: the day somebody sells one, it must not fall
   through to an unstyled word. */
.rfi-tierbadge--bronze   { background: var(--rfi-tier-bronze-bg);   color: var(--rfi-tier-bronze-ink); }
.rfi-tierbadge--silver   { background: var(--rfi-tier-silver-bg);   color: var(--rfi-tier-silver-ink); }
.rfi-tierbadge--gold     { background: var(--rfi-tier-gold-bg);     color: var(--rfi-tier-gold-ink); }
.rfi-tierbadge--platinum { background: var(--rfi-tier-platinum-bg); color: var(--rfi-tier-platinum-ink); }

/* ---- what each surface needs from its surroundings ----------
   Colour is the component's; POSITION belongs to the surface, and these
   four modifiers carry exactly what the v1 class carried beyond colour
   and nothing more.

   `card` needs nothing: .rfi-card__foot is a flex row already justified
   to its end, and the equipment record's heading and its supplier rows
   place the badge inline. It exists as a named context anyway, so that
   the three call sites that use it say which surface they are.

   THREE OF THESE CARRIED THEIR OWN TYPE UNTIL 2026-08-22 and no longer do.
   `hero` set 10px, `row` set 9.5px with .5px letter-spacing and 4px 9px
   padding, `account` set the same three, and `.rfi-crow--compact` in
   company-row.css stepped the row down again to 9px / 3px 8px. Each was a
   reasonable local tune of a loud badge. Together they meant FOUR sizes of one
   component, so «make the badge quieter» would have quietened one surface and
   left the rest, which is the failure this component was created to end. They
   are gone; the base rule is the only place type is set.

   WHAT SURVIVES HERE IS POSITION AND NOTHING ELSE.

   `card` needs nothing and never did: .rfi-card__foot is a flex row already
   justified to its end, and the equipment record's heading and its supplier
   rows place the badge inline. It has no rule at all, and is a named context
   only so the three call sites using it can say which surface they are.

   `hero` needs nothing now either. Its 10px was the v1 chip's scale and there
   is no reason for the profile to differ; it is listed as a comment rather
   than an empty rule so nobody adds one back by reflex.

   `row` is pushed to the far end of .rfi-crow__top by `margin-left: auto`.
   Without it the badge would sit against the company name. mobile.css drops
   that margin and reorders it above the name under 768px.

   `account` sits in .rfi-acc-corow__main, which wraps; `flex: none` on the
   base rule is all it needs. */
.rfi-tierbadge--row { margin-left: auto; }
