/* ==========================================================================
   exp35 . s35-a11y.css — the measured contrast floor.

   WHAT THIS FILE EMITS: colour. Nothing else. It is the last stylesheet on all
   ten pages, so any type size, margin or measure written here would silently
   outrank the craft layer's typography floors. There are none: the type scale
   belongs to s35-craft.css and the section sheets, and this file must never
   move a glyph, only its value.

   HOW THE VALUES WERE FOUND. Not by reading computed styles — a style walk
   cannot see the scanline ladder, the hero graph, the film, the readability
   mask or a gradient, and falls through to the page behind, which reads a
   gradient-painted control as 1:1. Instead every text node's GLYPH boxes are
   taken from a Range (a full-width paragraph whose ink is 140px wide must not
   be judged against 1300px of graph it never touches), the glyph ink is made
   invisible with -webkit-text-fill-color so every background, border and mark
   still paints, the frame is photographed, and the real pixels inside each box
   are read. The ground is therefore whatever actually lands under the type.
   Each theme is given 500ms to settle before the frame is taken; probing during
   the theme transition invents failures that are not there.
   Contrast is judged against the adverse decile of the sampled ground, not its
   mean, so a stripe or a grain crossing the type counts — and against the
   adverse decile on BOTH sides, because a box that straddles a hard edge is not
   on a ground that is lighter or darker than the text, it is on both.

   TWO RULES THIS FILE KEEPS, AND WHY.

   1. A COLOUR MUST NOT ASSERT A STATE. On this site --pass means verified,
      --fail means violated, --stale means changed, --unknown means at rest and
      --signal is an affordance and never a state. A value chosen to satisfy a
      ratio must not accidentally make a claim. So: the only tokens this file
      maps BY HAND are neutral ones (--muted via --label-text). State tokens are
      only ever raised in place — same hue, more luminance — on selectors that
      already carry that state.

   2. A RULE MUST NOT CROSS A STATE BOUNDARY. A floor solved on one element is
      emitted with the state qualifier that element sits under, so it cannot
      repaint a sibling in a different state. Where a broad selector still
      reaches one, that sibling carries a protective rule re-asserting its own
      token.

   SCROLL PHASE, AND WHY ONE MEASUREMENT IS NOT A MEASUREMENT. Three themes
   paint a position:fixed layer over the whole viewport: terminal's scanline
   tube and phosphor bloom, riso's halftone grids, and acid's mesh of coloured
   blobs. A fixed layer does not scroll. The type does. So the pixels a glyph is
   composited with change as the reader moves it up the viewport, and the same
   element, on the same page, in the same theme, measures one ratio near the top
   and a different one 600px lower. Measured across the whole site, 9033 of
   18450 text nodes — 49% — sit under such a layer or carry a translucent ink,
   and on acid the ratio of a single glyph moves by a median of 2.15 and by as
   much as 8.5 between scroll positions. A number taken at one scroll offset is
   therefore one sample of a family, and the failures it reports are whichever
   ones that offset happened to expose.

   Every value here is solved against the WORST phase. Each glyph box is sampled
   at every position on a 160px scroll ladder where it lands clear of the sticky
   header, unclipped by any overflow ancestor and unoccluded at five points
   across its width; the ratio kept is the lowest, and the ground envelope a
   value has to clear is the union of every phase the glyph was seen at. acid's
   mesh also drifts on a 30s animation, which is a second phase axis, so on that
   theme the drift is pinned at five positions and the ladder is walked at each.

   TRANSLUCENT INK. A colour written as rgba(ink, .46) has no fixed value: what
   the reader sees is the ink mixed with whatever is behind it, so when the
   ground moves the ink moves with it, and a glyph is dragged down twice over.
   Flattening such an ink to its composite only freezes one phase — and the
   frozen value lands BETWEEN the two grounds, which is the worst place to be:
   the composite of rgba(--signal,.66) on the acid frame bar measured 4.42:1
   once the mesh drifted off the position it was solved at. So where a
   translucent ink failed, this file emits the colour the author actually
   declared, at full alpha — the same hue with no luminance borrowed from the
   ground at all, so it cannot move with the ground. On acid that promotes
   fifteen small-text elements from --ink-40 and rgba(--signal,.66) to --ink
   and --signal themselves: on that theme, at that size, over that mesh, the
   dimmed variants are not usable text values at any scroll position. The one
   distinction this costs is a typographic one, and it is named here rather than
   hidden: a fine-print link, which used to be --signal at 66%, is now the same
   --signal as an ordinary link. No STATE collapses — --signal is an affordance
   and never a state — but two alphas of one token became one alpha.

   A floor is also solved against sections 1 and 2 of this file, not against the
   bare theme tokens. Re-solving against the raw tokens would emit a value
   derived from --unknown onto an element the role map had already given
   --muted, and quietly override the role map with a different hue.

   WHAT IS STILL BELOW THE FLOOR. Nothing measured. The five brutal legend
   elements on graph.html that used to sit here are gone: they failed because
   their glyph boxes straddled the plate's shadow band (grounds 0.000 and 0.865,
   best two-sided value 4.25:1), and the layout now clears that band, so the
   legend sits on ONE ground and its own --muted reads 11.0:1 with no rule at
   all. A floor rule is carried only while it is earned.

   Regenerate:  node craft35/L-tokens.mjs                     (sections 1)
                # sections 1+2 of this file, without the floor, as the base
                node craft35/P-sweep.mjs --acid-phases 0,7.5,15,22.5,30 \
                     --sheet BASE.css --out RAW.json
                node craft35/P-solve.mjs RAW.json --sheet BASE.css
   ========================================================================== */

/* --- 1. text-weight variants of the tokens ------------------------------- */
:root{--pass-text:var(--pass);--fail-text:var(--fail);--stale-text:var(--stale);--label-text:var(--muted);}
html[data-theme="terminal"]{--stale-text:#b07419;}   /* ground #0a100c · stale rgb(175, 115, 23)→#b07419 */
html[data-theme="verified"]{--label-text:var(--muted);}   /* ground #0b0e0b · label = --muted */
html[data-theme="night"]{--stale-text:#b37a23;--label-text:var(--muted);}   /* ground #15161c · stale rgb(175, 115, 23)→#b37a23 · label = --muted */
html[data-theme="paper"]{--stale-text:#9a6514;--label-text:var(--muted);}   /* ground #fffdf7 · stale rgb(175, 115, 23)→#9a6514 · label = --muted */
html[data-theme="riso"]{--fail-text:#c9307a;--stale-text:#986414;--label-text:var(--muted);}   /* ground #fffcf2 · fail rgb(255, 61, 154)→#c9307a · stale rgb(175, 115, 23)→#986414 · label = --muted */
html[data-theme="brutal"]{--pass-text:#00823a;--fail-text:#db2800;--stale-text:#9a6514;--label-text:var(--muted);}   /* ground #ffffff · pass rgb(0, 148, 66)→#00823a · fail rgb(255, 46, 0)→#db2800 · stale rgb(175, 115, 23)→#9a6514 · label = --muted */
html[data-theme="acid"]{--stale-text:#b1761c;--label-text:var(--muted);}   /* ground #150d28 · stale rgb(175, 115, 23)→#b1761c · label = --muted */
html[data-theme="olo"]{--pass-text:#007e5f;--stale-text:#9a6514;--label-text:var(--muted);}   /* ground #fffdf7 · pass rgb(0, 217, 163)→#007e5f · stale rgb(175, 115, 23)→#9a6514 · label = --muted */

/* --- 2. role map: text that reads as WORDS takes a neutral label value ----
   Collected by measurement across all 8 themes, not guessed. Structure,
   strokes and marker glyphs keep --unknown/--pass/--fail/--stale; only text a
   human reads as words is remapped, and only ever to --label-text, which is
   --muted — a neutral. Nothing here can assert a state.                      */
.gs-read-h, .gs-panel-h, .gs-panel-sub, .gs-hint-x, .gs-hint-t, .gs-read-for,
.cl-lab, .cl-klab, .cl-fan-cap, .cl-trust-lab,
.rq-lab, .rq-id, .rq-dim,
.rx-flag, .rx-st.is-idle, .ag-col-h{ color:var(--label-text); }

/* "DEFECT CLASS CLOSED" stays deliberately NOT-pass (a condition, not a
   claim), but it must still be readable. --label-text keeps both properties. */
.cl-out.is-open{ color:var(--label-text); }

/* A COUNT IS A VALUE, NOT A LABEL, AND NOT A CLAIM.
   .rq-n carries the plain numbers on the requirement card — IMPLEMENTED BY 4,
   OBLIGATIONS 4. It used to sit in the label list above, which muted a value to
   label grey and flattened the label/value distinction the card is built on;
   worse, a generated floor rule then painted every .rq-n in --pass green on two
   themes, so a plain count asserted a verification it does not have.
   It takes --ink — neutral, the highest-contrast text value the theme owns —
   and the green belongs to the one row that carries the evidence, which says so
   in its selector. */
.rq-n{ color:var(--ink); }
.rq-row.is-ok .rq-n,
.rq-row.is-ok .rq-lab{ color:var(--pass-text); }

/* state text: raised in place, on selectors that already carry the state */
.cl-ok, .cl-out.is-ok, .cl-val.cl-val-ok,
.rx-st.is-pass, .gs-state.gs-state-ok, .s5-rec-v.is-pass{ color:var(--pass-text); }
.rx-st.is-fail{ color:var(--fail-text); }
.s5-rec-v.is-stale, .is-hope{ color:var(--stale-text); }

/* Unclassed numerals in contents rails (<i>/<b> inside a link) inherit a
   structural token calibrated for strokes, not for 12px text. They are label
   text, so they take the label value. Narrow on purpose: only unclassed ones,
   only inside a link, only inside main. */
main a i:not([class]), main a b:not([class]){ color:var(--label-text) !important; }

/* Notes that live outside any section sheet. Colour only — their type and
   spacing belong to the craft layer. */
.shot-branch, .branch-where, .tree-note, .portal-note,
.foot-more, .foot-more-l{ color:var(--label-text); }

/* --- 3. the measured floor ------------------------------------------------
   One rule per (theme, element) that measured below AA against the pixels
   actually painted behind its glyphs. Hue is preserved; only luminance
   moves. Every selector carries the state qualifier the measured element sat
   under, so a value solved on a verified row cannot reach a row that is not
   verified. The comment names the token the value came from and the ratio it
   replaces. !important is deliberate: this is a floor, and it is scoped to
   measured failures only.                                                   */

/* acid */

/* acid */

/* acid */

/* acid */

/* acid */
html[data-theme="acid"] .ev-band-lab{color:#ede7ff !important;}   /* authored ink, alpha dropped, was 3.2:1 · 12px · index */
html[data-theme="acid"] .fine{color:#00e5ff !important;}   /* authored ink, alpha dropped, was 3.93:1 · 13px · public-proof audit method */
html[data-theme="acid"] .fine a:not([class]){color:#00e5ff !important;}   /* authored ink, alpha dropped, was 4.12:1 · 13px · public-proof */
html[data-theme="acid"] .fine.gp-live-fine{color:#00e5ff !important;}   /* authored ink, alpha dropped, was 3.94:1 · 13px · graph */
html[data-theme="acid"] .fine.gp-live-fine a:not([class]){color:#00e5ff !important;}   /* authored ink, alpha dropped, was 4.28:1 · 13px · graph */
html[data-theme="acid"] .fine.gp-live-fine code:not([class]){color:#00e5ff !important;}   /* authored ink, alpha dropped, was 4.48:1 · 13px · graph */
html[data-theme="acid"] .fine.mp-fine{color:#00e5ff !important;}   /* authored ink, alpha dropped, was 3.95:1 · 13px · method */
html[data-theme="acid"] .fine.pp-hero-fine{color:#00e5ff !important;}   /* authored ink, alpha dropped, was 4.49:1 · 13px · public-proof */
html[data-theme="acid"] .frame-url{color:#00e5ff !important;}   /* authored ink, alpha dropped, was 3.44:1 · 12px · product public-proof audit graph */
html[data-theme="acid"] .gs-panel.gs-panel-a .gs-panel-h{color:#aaaaa7 !important;}   /* --unknown, was 2.8:1 · 12px · index */
html[data-theme="acid"] .mp-state.is-fail .mp-state-n{color:#ff73e4 !important;}   /* --fail, was 3.83:1 · 12.48px · method */
html[data-theme="acid"] .mp-state.is-stale .mp-state-n{color:#c9a062 !important;}   /* own value, was 3.08:1 · 12.48px · method */
html[data-theme="acid"] .p35-bound-h{color:#a6a6a3 !important;}   /* --unknown, was 2.95:1 · 12px · agents */
html[data-theme="acid"] .pc-ic.is-stale{color:#c89e5f !important;}   /* --stale, was 3.03:1 · 12px · changes */
html[data-theme="acid"] .pc-recs-h{color:#949490 !important;}   /* --unknown, was 3.67:1 · 12px · changes */
html[data-theme="acid"] .pc-strip-s.is-stale{color:#b7812e !important;}   /* --stale, was 4.16:1 · 12px · changes */
html[data-theme="acid"] .pc-unc-lab{color:#c59956 !important;}   /* --stale, was 3.21:1 · 12px · changes */
html[data-theme="acid"] .pr-col h3:not([class]){color:#ede7ff !important;}   /* authored ink, alpha dropped, was 3.55:1 · 11.84px · product */
html[data-theme="acid"] .pr-fields span:not([class]){color:#ede7ff !important;}   /* authored ink, alpha dropped, was 3.55:1 · 12px · product */
html[data-theme="acid"] .pr-lab{color:#ede7ff !important;}   /* authored ink, alpha dropped, was 3.31:1 · 12px · product */
html[data-theme="acid"] .pr-rl{color:#ede7ff !important;}   /* authored ink, alpha dropped, was 3.25:1 · 12px · product */
html[data-theme="acid"] .pr-st.is-stale{color:#c09048 !important;}   /* --stale, was 3.54:1 · 13.44px · product */
html[data-theme="acid"] .rx-flag{color:#90908c !important;}   /* --unknown, was 3.85:1 · 12px · index */
html[data-theme="acid"] .rx-n{color:#ede7ff !important;}   /* authored ink, alpha dropped, was 3.27:1 · 12px · index */
html[data-theme="acid"] .rx-st.is-idle{color:#91918d !important;}   /* --unknown, was 3.74:1 · 12.16px · index */
html[data-theme="acid"] .s5-rec-k{color:#ede7ff !important;}   /* authored ink, alpha dropped, was 3.27:1 · 12px · index */
html[data-theme="acid"] .s5-rec-v.is-stale{color:#bd8c40 !important;}   /* own value, was 3.82:1 · 12px · index */

/* brutal */
html[data-theme="brutal"] .ag-col.ag-col-old.s35-col.in .ag-col-h.s35-col-h{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · index */
html[data-theme="brutal"] .ans .tgrn{color:#007936 !important;}   /* --pass, was 3.53:1 · 12px · graph */
html[data-theme="brutal"] .ans .tred{color:#cc2500 !important;}   /* --fail, was 3.33:1 · 12px · graph */
html[data-theme="brutal"] .bad{color:#db2800 !important;}   /* --fail, was 3.72:1 · 13.28px · audit */
html[data-theme="brutal"] .cl-f.is-bad.fx .cl-lab{color:#db2800 !important;}   /* --fail, was 3.72:1 · 12px · index */
html[data-theme="brutal"] .cl-f.is-ok.fx .cl-lab{color:#00823a !important;}   /* --pass, was 3.95:1 · 12px · index */
html[data-theme="brutal"] .cl-f.is-ok.fx .cl-n{color:#007936 !important;}   /* --pass, was 3.53:1 · 18.56px · index */
html[data-theme="brutal"] .cl-ok{color:#007835 !important;}   /* own value, was 4.3:1 · 12px · index */
html[data-theme="brutal"] .cl-out.is-ok{color:#007835 !important;}   /* own value, was 4.3:1 · 12px · index */
html[data-theme="brutal"] .ev-band-lab{color:#696865 !important;}   /* translucent ink, flattened, was 3.87:1 · 12px · index */
html[data-theme="brutal"] .foot-line .portal-note{color:#7a7a7a !important;}   /* --muted, was 1.66:1 · 13px · index product changes agents public-proof audit method graph prove demo */
html[data-theme="brutal"] .foot-more a:not([class]){color:#7a7a7a !important;}   /* --muted, was 1.66:1 · 13.12px · index product changes agents public-proof audit method graph prove demo */
html[data-theme="brutal"] .foot-more-l{color:#7a7a7a !important;}   /* --muted, was 1.66:1 · 13px · index product changes agents public-proof audit method graph prove demo */
html[data-theme="brutal"] .gs-panel.gs-panel-a .gs-panel-h{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · index */
html[data-theme="brutal"] .gs-state.gs-state-ok.rq-state{color:#007a37 !important;}   /* own value, was 4.41:1 · 12px · index */
html[data-theme="brutal"] .is-hope{color:#9a6514 !important;}   /* --stale, was 3.97:1 · 16px · index */
html[data-theme="brutal"] .is-hope .n{color:#9a6514 !important;}   /* --stale, was 3.97:1 · 12px · index */
html[data-theme="brutal"] .mp-state.is-fail .mp-state-n{color:#c92500 !important;}   /* own value, was 4.24:1 · 12.48px · method */
html[data-theme="brutal"] .mp-state.is-pass .mp-state-n{color:#007835 !important;}   /* own value, was 4.3:1 · 12.48px · method */
html[data-theme="brutal"] .mp-state.is-stale .mp-state-n{color:#8e5d12 !important;}   /* own value, was 4.31:1 · 12.48px · method */
html[data-theme="brutal"] .n{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · index */
html[data-theme="brutal"] .p35-bound-h{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · agents */
html[data-theme="brutal"] .p35-eg-t{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · agents */
html[data-theme="brutal"] .pc-cap-t{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · changes */
html[data-theme="brutal"] .pc-cap-t.is-real{color:#007835 !important;}   /* own value, was 4.3:1 · 12px · changes */
html[data-theme="brutal"] .pc-chip.is-bad{color:#c92400 !important;}   /* --fail, was 3.24:1 · 12px · changes */
html[data-theme="brutal"] .pc-chip.is-neutral{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · changes */
html[data-theme="brutal"] .pc-chip.is-ok{color:#007835 !important;}   /* --pass, was 3.44:1 · 12px · changes */
html[data-theme="brutal"] .pc-col-h{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · changes */
html[data-theme="brutal"] .pc-f.is-bad.fx .pc-lab{color:#db2800 !important;}   /* --fail, was 3.72:1 · 12px · changes */
html[data-theme="brutal"] .pc-f.is-ok.fx .pc-lab{color:#00823a !important;}   /* --pass, was 3.95:1 · 12px · changes */
html[data-theme="brutal"] .pc-f.is-ok.fx .pc-n{color:#007936 !important;}   /* --pass, was 3.53:1 · 18.56px · changes */
html[data-theme="brutal"] .pc-guard-lab{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · changes */
html[data-theme="brutal"] .pc-ic.is-stale{color:#8e5d13 !important;}   /* --stale, was 3.46:1 · 12px · changes */
html[data-theme="brutal"] .pc-klab{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · changes */
html[data-theme="brutal"] .pc-lab{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · changes */
html[data-theme="brutal"] .pc-out.is-ok{color:#007835 !important;}   /* --pass, was 3.44:1 · 12px · changes */
html[data-theme="brutal"] .pc-out.is-open{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · changes */
html[data-theme="brutal"] .pc-rc-l dt:not([class]){color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · changes */
html[data-theme="brutal"] .pc-rc-last.fx dd:not([class]){color:#9a6514 !important;}   /* --stale, was 3.97:1 · 16px · changes */
html[data-theme="brutal"] .pc-rc-last.fx dt:not([class]){color:#9a6514 !important;}   /* --stale, was 3.97:1 · 12px · changes */
html[data-theme="brutal"] .pc-recs-h{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · changes */
html[data-theme="brutal"] .pc-strip-s.is-ok{color:#007835 !important;}   /* --pass, was 3.44:1 · 12px · changes */
html[data-theme="brutal"] .pc-strip-s.is-stale{color:#8e5d13 !important;}   /* --stale, was 3.46:1 · 12px · changes */
html[data-theme="brutal"] .pc-tier-n{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · changes */
html[data-theme="brutal"] .pc-unc-lab{color:#8e5d13 !important;}   /* --stale, was 3.46:1 · 12px · changes */
html[data-theme="brutal"] .pc-unc.fx{color:#9a6514 !important;}   /* --stale, was 3.97:1 · 16.32px · changes */
html[data-theme="brutal"] .pc-val.pc-val-ok{color:#00823a !important;}   /* --pass, was 3.95:1 · 13.44px · changes */
html[data-theme="brutal"] .pp-chip{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-chip.is-bad{color:#db2800 !important;}   /* --fail, was 3.72:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-chip.is-ok{color:#00823a !important;}   /* --pass, was 3.95:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-door-k{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-f.is-bad.fx .pp-flab{color:#db2800 !important;}   /* --fail, was 3.72:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-f.is-ok.fx .pp-flab{color:#00823a !important;}   /* --pass, was 3.95:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-flab{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-ok{color:#007835 !important;}   /* --pass, was 3.44:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-pm-lab{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-pm-meta span:not([class]){color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-pm-row.is-bad .pp-pm-lab{color:#db2800 !important;}   /* --fail, was 3.72:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-pm-row.is-bad cite:not([class]){color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-pm-row.is-ok .pp-pm-lab{color:#00823a !important;}   /* --pass, was 3.95:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-stage{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-step.is-bad .pp-dot{color:#c92400 !important;}   /* --fail, was 3.24:1 · 12px · public-proof */
html[data-theme="brutal"] .pp-step.is-ok .pp-dot{color:#007835 !important;}   /* --pass, was 3.44:1 · 12px · public-proof */
html[data-theme="brutal"] .pr-col h3:not([class]){color:#696865 !important;}   /* translucent ink, flattened, was 3.87:1 · 11.84px · product */
html[data-theme="brutal"] .pr-fields span:not([class]){color:#696865 !important;}   /* translucent ink, flattened, was 3.87:1 · 12px · product */
html[data-theme="brutal"] .pr-lab{color:#696865 !important;}   /* translucent ink, flattened, was 3.87:1 · 12px · product */
html[data-theme="brutal"] .pr-rl{color:#696865 !important;}   /* translucent ink, flattened, was 3.87:1 · 12px · product */
html[data-theme="brutal"] .pr-st.is-fail{color:#c92400 !important;}   /* --fail, was 3.24:1 · 13.44px · product */
html[data-theme="brutal"] .pr-st.is-pass{color:#007835 !important;}   /* --pass, was 3.44:1 · 13.44px · product */
html[data-theme="brutal"] .pr-st.is-stale{color:#8e5d13 !important;}   /* --stale, was 3.46:1 · 13.44px · product */
html[data-theme="brutal"] .rq-chip{color:#71716d !important;}   /* --unknown, was 4.08:1 · 12px · index */
html[data-theme="brutal"] .rx-flag{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12px · index */
html[data-theme="brutal"] .rx-n{color:#696865 !important;}   /* translucent ink, flattened, was 3.87:1 · 12px · index */
html[data-theme="brutal"] .rx-st.is-fail{color:#c92400 !important;}   /* --fail, was 3.24:1 · 12.16px · index */
html[data-theme="brutal"] .rx-st.is-idle{color:#676763 !important;}   /* --unknown, was 3.55:1 · 12.16px · index */
html[data-theme="brutal"] .rx-st.is-pass{color:#007835 !important;}   /* --pass, was 3.44:1 · 12.16px · index */
html[data-theme="brutal"] .rx-st.is-pass.rx-st-ck{color:#007835 !important;}   /* --pass, was 3.44:1 · 12.16px · index */
html[data-theme="brutal"] .s5-rec-k{color:#696865 !important;}   /* translucent ink, flattened, was 3.87:1 · 12px · index */
html[data-theme="brutal"] .s5-rec-v.is-pass{color:#007835 !important;}   /* own value, was 4.3:1 · 12px · index */
html[data-theme="brutal"] .s5-rec-v.is-stale{color:#8e5d12 !important;}   /* own value, was 4.31:1 · 12px · index */

/* night */
html[data-theme="night"] .ag-col.ag-col-old.s35-col.in .ag-col-h.s35-col-h{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · index */
html[data-theme="night"] .ev-band-lab{color:#818180 !important;}   /* translucent ink, flattened, was 3.86:1 · 12px · index */
html[data-theme="night"] .n{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · index */
html[data-theme="night"] .p35-eg-t{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · agents */
html[data-theme="night"] .pc-col-h{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · changes */
html[data-theme="night"] .pc-guard-lab{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · changes */
html[data-theme="night"] .pc-klab{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · changes */
html[data-theme="night"] .pc-lab{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · changes */
html[data-theme="night"] .pc-rc-l dt:not([class]){color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · changes */
html[data-theme="night"] .pp-chip{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · public-proof */
html[data-theme="night"] .pp-door-k{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · public-proof */
html[data-theme="night"] .pp-flab{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · public-proof */
html[data-theme="night"] .pp-pm-lab{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · public-proof */
html[data-theme="night"] .pp-pm-meta span:not([class]){color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · public-proof */
html[data-theme="night"] .pp-pm-row.is-bad cite:not([class]){color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · public-proof */
html[data-theme="night"] .pp-stage{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · public-proof */
html[data-theme="night"] .pr-col h3:not([class]){color:#818180 !important;}   /* translucent ink, flattened, was 3.86:1 · 11.84px · product */
html[data-theme="night"] .pr-fields span:not([class]){color:#818180 !important;}   /* translucent ink, flattened, was 3.86:1 · 12px · product */
html[data-theme="night"] .pr-lab{color:#838280 !important;}   /* translucent ink, flattened, was 3.81:1 · 12px · product */
html[data-theme="night"] .pr-rl{color:#818180 !important;}   /* translucent ink, flattened, was 3.86:1 · 12px · product */
html[data-theme="night"] .rq-chip{color:#868681 !important;}   /* --unknown, was 4.42:1 · 12px · index */
html[data-theme="night"] .rx-n{color:#818180 !important;}   /* translucent ink, flattened, was 3.86:1 · 12px · index */
html[data-theme="night"] .s5-rec-k{color:#818180 !important;}   /* translucent ink, flattened, was 3.86:1 · 12px · index */

/* olo */
html[data-theme="olo"] .ag-col.ag-col-old.s35-col.in .ag-col-h.s35-col-h{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · index */
html[data-theme="olo"] .ans .tgrn{color:#007e5f !important;}   /* --pass, was 1.8:1 · 12px · graph */
html[data-theme="olo"] .ans .tsig{color:#007e5f !important;}   /* --pass, was 1.8:1 · 12px · graph */
html[data-theme="olo"] .cl-f.is-ok.fx .cl-lab{color:#007e5f !important;}   /* --pass, was 1.8:1 · 12px · index */
html[data-theme="olo"] .cl-f.is-ok.fx .cl-n{color:#007e5f !important;}   /* --pass, was 1.8:1 · 18.56px · index */
html[data-theme="olo"] .ev-band-lab{color:#6e6d6a !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · index */
html[data-theme="olo"] .ev-table.in a:not([class]){color:#007c5d !important;}   /* --pass, was 1.73:1 · 12px · index */
html[data-theme="olo"] .gs-panel.gs-panel-a .gs-panel-h{color:#6c6c68 !important;}   /* --unknown, was 3.83:1 · 12px · index */
html[data-theme="olo"] .gs-state.gs-state-ok.rq-state{color:#007659 !important;}   /* own value, was 4.4:1 · 12px · index */
html[data-theme="olo"] .hero-copy .olo-note{color:#57544e !important;}   /* --muted, was 3.6:1 · 10.08px · index */
html[data-theme="olo"] .is-hope{color:#9a6514 !important;}   /* --stale, was 3.9:1 · 16px · index */
html[data-theme="olo"] .is-hope .n{color:#9a6514 !important;}   /* --stale, was 3.9:1 · 12px · index */
html[data-theme="olo"] .n{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · index */
html[data-theme="olo"] .p35-bound-h{color:#6c6c68 !important;}   /* --unknown, was 3.83:1 · 12px · agents */
html[data-theme="olo"] .p35-eg-t{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · agents */
html[data-theme="olo"] .pc-cap-t{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="olo"] .pc-chip.is-neutral{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="olo"] .pc-chip.is-ok{color:#007c5d !important;}   /* --pass, was 1.73:1 · 12px · changes */
html[data-theme="olo"] .pc-col-h{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="olo"] .pc-f.is-ok.fx .pc-lab{color:#007e5f !important;}   /* --pass, was 1.8:1 · 12px · changes */
html[data-theme="olo"] .pc-f.is-ok.fx .pc-n{color:#007e5f !important;}   /* --pass, was 1.8:1 · 18.56px · changes */
html[data-theme="olo"] .pc-guard-lab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="olo"] .pc-ic.is-stale{color:#956214 !important;}   /* --stale, was 3.73:1 · 12px · changes */
html[data-theme="olo"] .pc-klab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="olo"] .pc-lab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="olo"] .pc-out.is-ok{color:#007c5d !important;}   /* --pass, was 1.73:1 · 12px · changes */
html[data-theme="olo"] .pc-out.is-open{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="olo"] .pc-rc-l dt:not([class]){color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="olo"] .pc-rc-last.fx dd:not([class]){color:#9a6514 !important;}   /* --stale, was 3.9:1 · 16px · changes */
html[data-theme="olo"] .pc-rc-last.fx dt:not([class]){color:#9a6514 !important;}   /* --stale, was 3.9:1 · 12px · changes */
html[data-theme="olo"] .pc-recs-h{color:#6c6c68 !important;}   /* --unknown, was 3.83:1 · 12px · changes */
html[data-theme="olo"] .pc-strip-s.is-ok{color:#007c5d !important;}   /* --pass, was 1.72:1 · 12px · changes */
html[data-theme="olo"] .pc-strip-s.is-stale{color:#956214 !important;}   /* --stale, was 3.73:1 · 12px · changes */
html[data-theme="olo"] .pc-tier-n{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="olo"] .pc-unc-lab{color:#956214 !important;}   /* --stale, was 3.73:1 · 12px · changes */
html[data-theme="olo"] .pc-unc.fx{color:#9a6514 !important;}   /* --stale, was 3.9:1 · 16.32px · changes */
html[data-theme="olo"] .pc-val.pc-val-ok{color:#007e5f !important;}   /* --pass, was 1.8:1 · 13.44px · changes */
html[data-theme="olo"] .pp-art a:not([class]){color:#007e5f !important;}   /* --pass, was 1.8:1 · 12.16px · public-proof */
html[data-theme="olo"] .pp-chip{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="olo"] .pp-chip.is-ok{color:#007e5f !important;}   /* --pass, was 1.8:1 · 12px · public-proof */
html[data-theme="olo"] .pp-door-k{color:#6e6e69 !important;}   /* --unknown, was 3.85:1 · 12px · public-proof */
html[data-theme="olo"] .pp-f.is-ok.fx .pp-flab{color:#007e5f !important;}   /* --pass, was 1.8:1 · 12px · public-proof */
html[data-theme="olo"] .pp-flab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="olo"] .pp-fval a:not([class]){color:#007e5f !important;}   /* --pass, was 1.8:1 · 13.44px · public-proof */
html[data-theme="olo"] .pp-ok{color:#007c5d !important;}   /* --pass, was 1.73:1 · 12px · public-proof */
html[data-theme="olo"] .pp-pm-lab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="olo"] .pp-pm-meta span:not([class]){color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="olo"] .pp-pm-row.is-bad cite:not([class]){color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="olo"] .pp-pm-row.is-ok .pp-pm-lab{color:#007e5f !important;}   /* --pass, was 1.8:1 · 12px · public-proof */
html[data-theme="olo"] .pp-stage{color:#6a6a67 !important;}   /* --unknown, was 4.48:1 · 12px · public-proof */
html[data-theme="olo"] .pp-step.is-ok .pp-dot{color:#007c5d !important;}   /* --pass, was 1.73:1 · 12px · public-proof */
html[data-theme="olo"] .pr-col h3:not([class]){color:#6d6c68 !important;}   /* translucent ink, flattened, was 2.72:1 · 11.84px · product */
html[data-theme="olo"] .pr-fields span:not([class]){color:#6d6c68 !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · product */
html[data-theme="olo"] .pr-lab{color:#6b6c69 !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · product */
html[data-theme="olo"] .pr-rl{color:#6d6c68 !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · product */
html[data-theme="olo"] .pr-st.is-stale{color:#956214 !important;}   /* --stale, was 3.73:1 · 13.44px · product */
html[data-theme="olo"] .rq-chip{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · index */
html[data-theme="olo"] .rx-art a:not([class]){color:#007c5d !important;}   /* --pass, was 1.73:1 · 12px · index */
html[data-theme="olo"] .rx-flag{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · index */
html[data-theme="olo"] .rx-n{color:#676664 !important;}   /* own value, was 4.46:1 · 12px · index */
html[data-theme="olo"] .rx-st.is-idle{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12.16px · index */
html[data-theme="olo"] .rx-st.is-pass{color:#007658 !important;}   /* --pass, was 4.48:1 · 12.16px · index */
html[data-theme="olo"] .rx-st.is-pass.rx-st-ck{color:#007c5d !important;}   /* --pass, was 1.73:1 · 12.16px · index */
html[data-theme="olo"] .s5-rec-k{color:#6d6c68 !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · index */
html[data-theme="olo"] .section.ev a:not([class]){color:#007c5d !important;}   /* --pass, was 1.73:1 · 13px · index */

/* paper */
html[data-theme="paper"] .ag-col.ag-col-old.s35-col.in .ag-col-h.s35-col-h{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · index */
html[data-theme="paper"] .ev-band-lab{color:#6e6d6a !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · index */
html[data-theme="paper"] .gs-panel.gs-panel-a .gs-panel-h{color:#6c6c68 !important;}   /* --unknown, was 3.82:1 · 12px · index */
html[data-theme="paper"] .is-hope{color:#9a6514 !important;}   /* --stale, was 3.9:1 · 16px · index */
html[data-theme="paper"] .is-hope .n{color:#9a6514 !important;}   /* --stale, was 3.9:1 · 12px · index */
html[data-theme="paper"] .n{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · index */
html[data-theme="paper"] .p35-bound-h{color:#6c6c68 !important;}   /* --unknown, was 3.82:1 · 12px · agents */
html[data-theme="paper"] .p35-eg-t{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · agents */
html[data-theme="paper"] .pc-cap-t{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="paper"] .pc-chip.is-neutral{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="paper"] .pc-col-h{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="paper"] .pc-guard-lab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="paper"] .pc-ic.is-stale{color:#956214 !important;}   /* --stale, was 3.71:1 · 12px · changes */
html[data-theme="paper"] .pc-klab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="paper"] .pc-lab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="paper"] .pc-out.is-open{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="paper"] .pc-rc-l dt:not([class]){color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · changes */
html[data-theme="paper"] .pc-rc-last.fx dd:not([class]){color:#9a6514 !important;}   /* --stale, was 3.9:1 · 16px · changes */
html[data-theme="paper"] .pc-rc-last.fx dt:not([class]){color:#9a6514 !important;}   /* --stale, was 3.9:1 · 12px · changes */
html[data-theme="paper"] .pc-recs-h{color:#6c6c68 !important;}   /* --unknown, was 3.81:1 · 12px · changes */
html[data-theme="paper"] .pc-strip-s.is-stale{color:#956214 !important;}   /* --stale, was 3.72:1 · 12px · changes */
html[data-theme="paper"] .pc-tier-n{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · changes */
html[data-theme="paper"] .pc-unc-lab{color:#956214 !important;}   /* --stale, was 3.72:1 · 12px · changes */
html[data-theme="paper"] .pc-unc.fx{color:#9a6514 !important;}   /* --stale, was 3.9:1 · 16.32px · changes */
html[data-theme="paper"] .pp-chip{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="paper"] .pp-door-k{color:#6c6c68 !important;}   /* --unknown, was 3.82:1 · 12px · public-proof */
html[data-theme="paper"] .pp-flab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="paper"] .pp-pm-lab{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="paper"] .pp-pm-meta span:not([class]){color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="paper"] .pp-pm-row.is-bad cite:not([class]){color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · public-proof */
html[data-theme="paper"] .pp-stage{color:#6a6a67 !important;}   /* --unknown, was 4.48:1 · 12px · public-proof */
html[data-theme="paper"] .pr-col h3:not([class]){color:#6d6b68 !important;}   /* translucent ink, flattened, was 2.72:1 · 11.84px · product */
html[data-theme="paper"] .pr-fields span:not([class]){color:#6d6b68 !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · product */
html[data-theme="paper"] .pr-lab{color:#6d6c68 !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · product */
html[data-theme="paper"] .pr-rl{color:#6d6b68 !important;}   /* translucent ink, flattened, was 2.7:1 · 12px · product */
html[data-theme="paper"] .pr-st.is-stale{color:#956214 !important;}   /* --stale, was 3.71:1 · 13.44px · product */
html[data-theme="paper"] .rq-chip{color:#70706c !important;}   /* --unknown, was 4.01:1 · 12px · index */
html[data-theme="paper"] .rx-flag{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12px · index */
html[data-theme="paper"] .rx-n{color:#6e6d6a !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · index */
html[data-theme="paper"] .rx-st.is-idle{color:#6c6c68 !important;}   /* --unknown, was 3.84:1 · 12.16px · index */
html[data-theme="paper"] .s5-rec-k{color:#6d6b68 !important;}   /* translucent ink, flattened, was 2.72:1 · 12px · index */

/* riso */
html[data-theme="riso"] .ag-col.ag-col-old.s35-col.in .ag-col-h.s35-col-h{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · index */
html[data-theme="riso"] .ans .tgrn{color:#1733de !important;}   /* --pass, was 4.05:1 · 12px · graph */
html[data-theme="riso"] .ans .tred{color:#912358 !important;}   /* --fail, was 1.97:1 · 12px · graph */
html[data-theme="riso"] .ans .tsig{color:#1733de !important;}   /* --pass, was 4.05:1 · 12px · graph */
html[data-theme="riso"] .bad{color:#c22e75 !important;}   /* --fail, was 3:1 · 13.28px · audit */
html[data-theme="riso"] .branch-where{color:#4b476e !important;}   /* --muted, was 3.44:1 · 13px · product */
html[data-theme="riso"] .cl-f.is-bad.fx .cl-lab{color:#c22e75 !important;}   /* --fail, was 3:1 · 12px · index */
html[data-theme="riso"] .cl-f.is-ok.fx .cl-n{color:#1733de !important;}   /* --pass, was 4.05:1 · 18.56px · index */
html[data-theme="riso"] .ev-band-lab{color:#6c6674 !important;}   /* translucent ink, flattened, was 2.63:1 · 12px · index */
html[data-theme="riso"] .fine b:not([class]){color:#4d4971 !important;}   /* --muted, was 3.55:1 · 13px · public-proof */
html[data-theme="riso"] .gs-panel.gs-panel-a .gs-panel-h{color:#696964 !important;}   /* --unknown, was 3.57:1 · 12px · index */
html[data-theme="riso"] .is-hope{color:#936113 !important;}   /* --stale, was 3.63:1 · 16px · index */
html[data-theme="riso"] .is-hope .n{color:#936113 !important;}   /* --stale, was 3.63:1 · 12px · index */
html[data-theme="riso"] .mp-state.is-fail .mp-state-n{color:#bd2d73 !important;}   /* own value, was 4.39:1 · 12.48px · method */
html[data-theme="riso"] .mp-state.is-stale .mp-state-n{color:#8f5e13 !important;}   /* own value, was 4.41:1 · 12.48px · method */
html[data-theme="riso"] .n{color:#6b6b67 !important;}   /* --unknown, was 3.72:1 · 12px · index */
html[data-theme="riso"] .p35-bound-h{color:#696964 !important;}   /* --unknown, was 3.57:1 · 12px · agents */
html[data-theme="riso"] .p35-eg-t{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · agents */
html[data-theme="riso"] .pc-cap-t{color:#696964 !important;}   /* --unknown, was 3.59:1 · 12px · changes */
html[data-theme="riso"] .pc-chip.is-bad{color:#bd2d72 !important;}   /* --fail, was 2.9:1 · 12px · changes */
html[data-theme="riso"] .pc-chip.is-neutral{color:#696964 !important;}   /* --unknown, was 3.6:1 · 12px · changes */
html[data-theme="riso"] .pc-col-h{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · changes */
html[data-theme="riso"] .pc-f.is-bad.fx .pc-lab{color:#c22e75 !important;}   /* --fail, was 3:1 · 12px · changes */
html[data-theme="riso"] .pc-f.is-ok.fx .pc-n{color:#1732d9 !important;}   /* --pass, was 3.91:1 · 18.56px · changes */
html[data-theme="riso"] .pc-guard-lab{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · changes */
html[data-theme="riso"] .pc-ic.is-stale{color:#8e5d13 !important;}   /* --stale, was 3.48:1 · 12px · changes */
html[data-theme="riso"] .pc-klab{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · changes */
html[data-theme="riso"] .pc-lab{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · changes */
html[data-theme="riso"] .pc-out.is-open{color:#696964 !important;}   /* --unknown, was 3.6:1 · 12px · changes */
html[data-theme="riso"] .pc-rc-l dt:not([class]){color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · changes */
html[data-theme="riso"] .pc-rc-last.fx dd:not([class]){color:#936113 !important;}   /* --stale, was 3.63:1 · 16px · changes */
html[data-theme="riso"] .pc-rc-last.fx dt:not([class]){color:#936113 !important;}   /* --stale, was 3.63:1 · 12px · changes */
html[data-theme="riso"] .pc-recs-h{color:#696964 !important;}   /* --unknown, was 3.57:1 · 12px · changes */
html[data-theme="riso"] .pc-strip-s.is-stale{color:#8e5d13 !important;}   /* --stale, was 3.48:1 · 12px · changes */
html[data-theme="riso"] .pc-tier-n{color:#696964 !important;}   /* --unknown, was 3.6:1 · 12px · changes */
html[data-theme="riso"] .pc-unc-lab{color:#8e5d13 !important;}   /* --stale, was 3.48:1 · 12px · changes */
html[data-theme="riso"] .pc-unc.fx{color:#936113 !important;}   /* --stale, was 3.63:1 · 16.32px · changes */
html[data-theme="riso"] .pp-chip{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · public-proof */
html[data-theme="riso"] .pp-chip.is-bad{color:#c22e75 !important;}   /* --fail, was 3:1 · 12px · public-proof */
html[data-theme="riso"] .pp-door-k{color:#6a6a66 !important;}   /* --unknown, was 3.69:1 · 12px · public-proof */
html[data-theme="riso"] .pp-f.is-bad.fx .pp-flab{color:#c22e75 !important;}   /* --fail, was 3:1 · 12px · public-proof */
html[data-theme="riso"] .pp-flab{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · public-proof */
html[data-theme="riso"] .pp-pm-lab{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · public-proof */
html[data-theme="riso"] .pp-pm-meta span:not([class]){color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · public-proof */
html[data-theme="riso"] .pp-pm-row.is-bad .pp-pm-lab{color:#c22e75 !important;}   /* --fail, was 3:1 · 12px · public-proof */
html[data-theme="riso"] .pp-pm-row.is-bad cite:not([class]){color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · public-proof */
html[data-theme="riso"] .pp-stage{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · public-proof */
html[data-theme="riso"] .pp-step.is-bad .pp-dot{color:#bd2d72 !important;}   /* --fail, was 2.9:1 · 12px · public-proof */
html[data-theme="riso"] .pr-body a:not([class]){color:#1631d4 !important;}   /* --pass, was 3.8:1 · 13px · product */
html[data-theme="riso"] .pr-col h3:not([class]){color:#6a6572 !important;}   /* translucent ink, flattened, was 2.62:1 · 11.84px · product */
html[data-theme="riso"] .pr-fields span:not([class]){color:#6c6674 !important;}   /* translucent ink, flattened, was 2.62:1 · 12px · product */
html[data-theme="riso"] .pr-lab{color:#6a6573 !important;}   /* translucent ink, flattened, was 2.62:1 · 12px · product */
html[data-theme="riso"] .pr-rl{color:#6c6674 !important;}   /* translucent ink, flattened, was 2.62:1 · 12px · product */
html[data-theme="riso"] .pr-st.is-fail{color:#bd2d72 !important;}   /* --fail, was 2.88:1 · 13.44px · product */
html[data-theme="riso"] .pr-st.is-stale{color:#8e5d13 !important;}   /* --stale, was 3.48:1 · 13.44px · product */
html[data-theme="riso"] .rq-chip{color:#6b6b67 !important;}   /* --unknown, was 3.73:1 · 12px · index */
html[data-theme="riso"] .rx-flag{color:#696964 !important;}   /* --unknown, was 3.6:1 · 12px · index */
html[data-theme="riso"] .rx-n{color:#6a6572 !important;}   /* translucent ink, flattened, was 2.62:1 · 12px · index */
html[data-theme="riso"] .rx-st.is-fail{color:#bd2d72 !important;}   /* --fail, was 2.9:1 · 12.16px · index */
html[data-theme="riso"] .rx-st.is-idle{color:#696964 !important;}   /* --unknown, was 3.6:1 · 12.16px · index */
html[data-theme="riso"] .s5-rec-k{color:#6a6572 !important;}   /* translucent ink, flattened, was 2.62:1 · 12px · index */
html[data-theme="riso"] .s5-rec-v.is-stale{color:#8f5e13 !important;}   /* own value, was 4.41:1 · 12px · index */
html[data-theme="riso"] .section.mp-sec b:not([class]){color:#4b476e !important;}   /* --muted, was 3.44:1 · 13px · method */
html[data-theme="riso"] .tree-note b:not([class]){color:#4d4971 !important;}   /* --muted, was 3.55:1 · 17.28px · audit */

/* verified */
html[data-theme="verified"] .ev-band-lab{color:#7d7e7c !important;}   /* translucent ink, flattened, was 3.47:1 · 12px · index */
html[data-theme="verified"] .gs-panel.gs-panel-a .gs-panel-h{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · index */
html[data-theme="verified"] .p35-bound-h{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · agents */
html[data-theme="verified"] .p35-eg-t{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · agents */
html[data-theme="verified"] .pc-cap-t{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · changes */
html[data-theme="verified"] .pc-chip.is-neutral{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · changes */
html[data-theme="verified"] .pc-col-h{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · changes */
html[data-theme="verified"] .pc-guard-lab{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · changes */
html[data-theme="verified"] .pc-klab{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · changes */
html[data-theme="verified"] .pc-lab{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · changes */
html[data-theme="verified"] .pc-out.is-open{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · changes */
html[data-theme="verified"] .pc-rc-l dt:not([class]){color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · changes */
html[data-theme="verified"] .pc-recs-h{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · changes */
html[data-theme="verified"] .pc-tier-n{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · changes */
html[data-theme="verified"] .pp-chip{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · public-proof */
html[data-theme="verified"] .pp-door-k{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · public-proof */
html[data-theme="verified"] .pp-flab{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · public-proof */
html[data-theme="verified"] .pp-pm-lab{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · public-proof */
html[data-theme="verified"] .pp-pm-meta span:not([class]){color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · public-proof */
html[data-theme="verified"] .pp-pm-row.is-bad cite:not([class]){color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · public-proof */
html[data-theme="verified"] .pp-stage{color:#7d817e !important;}   /* --unknown, was 1.83:1 · 12px · public-proof */
html[data-theme="verified"] .pr-fields span:not([class]){color:#7d7e7c !important;}   /* translucent ink, flattened, was 3.47:1 · 12px · product */
html[data-theme="verified"] .pr-lab{color:#7f817e !important;}   /* translucent ink, flattened, was 3.4:1 · 12px · product */
html[data-theme="verified"] .pr-rl{color:#7d7e7c !important;}   /* translucent ink, flattened, was 3.45:1 · 12px · product */
html[data-theme="verified"] .rx-flag{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12px · index */
html[data-theme="verified"] .rx-n{color:#7d7e7c !important;}   /* translucent ink, flattened, was 3.47:1 · 12px · index */
html[data-theme="verified"] .rx-st.is-idle{color:#7b7f7c !important;}   /* --unknown, was 1.89:1 · 12.16px · index */
html[data-theme="verified"] .s5-rec-k{color:#7d7e7c !important;}   /* translucent ink, flattened, was 3.47:1 · 12px · index */
html[data-theme="verified"] .tile-n{color:#7e807d !important;}   /* translucent ink, flattened, was 3.53:1 · 12px · audit */

/* --- 4. protective rules --------------------------------------------------
   A floor rule above is broad enough to reach a sibling that is in a
   DIFFERENT state and does not need raising. These re-assert that sibling's
   own token at higher specificity, so the floor can never flatten a state
   distinction into one colour. Generated, not guessed: each one is an
   element the broad selector was measured to match with another base value. */

/* acid */

/* acid */

/* acid */

/* acid */
html[data-theme="acid"] .p35-bound-col.is-human .p35-bound-h{color:var(--ink) !important;}   /* keeps --ink on "Only a person may" (1× agents) */

/* brutal */
html[data-theme="brutal"] .p35-bound-col.is-human .p35-bound-h{color:var(--ink) !important;}   /* keeps --ink on "Only a person may" (1× agents) */
html[data-theme="brutal"] .pc-col.pc-col-proof .pc-col-h{color:var(--ink) !important;}   /* keeps --ink on "PROOF" (1× changes) */

/* night */
html[data-theme="night"] .is-hope .n{color:var(--stale-text) !important;}   /* keeps --stale on "08" (1× index) */
html[data-theme="night"] .pc-col.pc-col-proof .pc-col-h{color:var(--ink) !important;}   /* keeps --ink on "PROOF" (1× changes) */
html[data-theme="night"] .pc-f.is-bad.fx .pc-lab{color:var(--fail-text) !important;}   /* keeps --fail on "VIOLATED REQUIREMENT" (2× changes) */
html[data-theme="night"] .pc-f.is-ok.fx .pc-lab{color:var(--pass-text) !important;}   /* keeps --pass on "EVIDENCE" (2× changes) */
html[data-theme="night"] .pc-rc-last.fx dt:not([class]){color:var(--stale-text) !important;}   /* keeps --stale on "WHAT REMAINS UNCERTAIN" (1× changes) */
html[data-theme="night"] .pp-chip.is-bad{color:var(--fail-text) !important;}   /* keeps --fail on "was violated" (1× public-proof) */
html[data-theme="night"] .pp-chip.is-ok{color:var(--pass-text) !important;}   /* keeps --pass on "status: approved" (2× public-proof) */
html[data-theme="night"] .pp-f.is-bad.fx .pp-flab{color:var(--fail-text) !important;}   /* keeps --fail on "Observed" (1× public-proof) */
html[data-theme="night"] .pp-f.is-ok.fx .pp-flab{color:var(--pass-text) !important;}   /* keeps --pass on "Retest" (1× public-proof) */
html[data-theme="night"] .pp-pm-row.is-bad .pp-pm-lab{color:var(--fail-text) !important;}   /* keeps --fail on "What escaped, one of two" (3× public-proof) */
html[data-theme="night"] .pp-pm-row.is-ok .pp-pm-lab{color:var(--pass-text) !important;}   /* keeps --pass on "What we published" (2× public-proof) */

/* olo */
html[data-theme="olo"] .p35-bound-col.is-human .p35-bound-h{color:var(--ink) !important;}   /* keeps --ink on "Only a person may" (1× agents) */
html[data-theme="olo"] .pc-cap-t.is-real{color:#007e5f !important;}   /* keeps #007e5f on "Real record" (1× changes) */
html[data-theme="olo"] .pc-col.pc-col-proof .pc-col-h{color:var(--ink) !important;}   /* keeps --ink on "PROOF" (1× changes) */
html[data-theme="olo"] .pc-f.is-bad.fx .pc-lab{color:var(--fail-text) !important;}   /* keeps --fail on "VIOLATED REQUIREMENT" (2× changes) */
html[data-theme="olo"] .pp-chip.is-bad{color:var(--fail-text) !important;}   /* keeps --fail on "was violated" (1× public-proof) */
html[data-theme="olo"] .pp-f.is-bad.fx .pp-flab{color:var(--fail-text) !important;}   /* keeps --fail on "Observed" (1× public-proof) */
html[data-theme="olo"] .pp-pm-row.is-bad .pp-pm-lab{color:var(--fail-text) !important;}   /* keeps --fail on "What escaped, one of two" (3× public-proof) */
html[data-theme="olo"] .rx-reconcile a:not([class]){color:var(--ink) !important;}   /* keeps --ink on "the CHANGELOG" (1× index) */

/* paper */
html[data-theme="paper"] .p35-bound-col.is-human .p35-bound-h{color:var(--ink) !important;}   /* keeps --ink on "Only a person may" (1× agents) */
html[data-theme="paper"] .pc-cap-t.is-real{color:var(--pass-text) !important;}   /* keeps --pass on "Real record" (1× changes) */
html[data-theme="paper"] .pc-col.pc-col-proof .pc-col-h{color:var(--ink) !important;}   /* keeps --ink on "PROOF" (1× changes) */
html[data-theme="paper"] .pc-f.is-bad.fx .pc-lab{color:var(--fail-text) !important;}   /* keeps --fail on "VIOLATED REQUIREMENT" (2× changes) */
html[data-theme="paper"] .pc-f.is-ok.fx .pc-lab{color:var(--pass-text) !important;}   /* keeps --pass on "EVIDENCE" (2× changes) */
html[data-theme="paper"] .pp-chip.is-bad{color:var(--fail-text) !important;}   /* keeps --fail on "was violated" (1× public-proof) */
html[data-theme="paper"] .pp-chip.is-ok{color:var(--pass-text) !important;}   /* keeps --pass on "status: approved" (2× public-proof) */
html[data-theme="paper"] .pp-f.is-bad.fx .pp-flab{color:var(--fail-text) !important;}   /* keeps --fail on "Observed" (1× public-proof) */
html[data-theme="paper"] .pp-f.is-ok.fx .pp-flab{color:var(--pass-text) !important;}   /* keeps --pass on "Retest" (1× public-proof) */
html[data-theme="paper"] .pp-pm-row.is-bad .pp-pm-lab{color:var(--fail-text) !important;}   /* keeps --fail on "What escaped, one of two" (3× public-proof) */
html[data-theme="paper"] .pp-pm-row.is-ok .pp-pm-lab{color:var(--pass-text) !important;}   /* keeps --pass on "What we published" (2× public-proof) */

/* riso */
html[data-theme="riso"] .mp-keep b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "the promises, written down" (6× method) */
html[data-theme="riso"] .mp-list b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "draft" (2× method) */
html[data-theme="riso"] .mp-list.is-no b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "approve normative intent." (1× method) */
html[data-theme="riso"] .mp-miss b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "buger/jsonparser" (1× method) */
html[data-theme="riso"] .mp-note b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "The six clauses were writt" (4× method) */
html[data-theme="riso"] .mp-rec-foot b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "the record carries all ten" (1× method) */
html[data-theme="riso"] .mp-rec-src b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "DEFECT-260726-MFPA" (1× method) */
html[data-theme="riso"] .mp-state.is-stale b:not([class]){color:var(--ink) !important;}   /* keeps --ink on "does not automatically dec" (1× method) */
html[data-theme="riso"] .p35-bound-col.is-human .p35-bound-h{color:var(--ink) !important;}   /* keeps --ink on "Only a person may" (1× agents) */
html[data-theme="riso"] .pc-cap-t.is-real{color:var(--pass-text) !important;}   /* keeps --pass on "Real record" (1× changes) */
html[data-theme="riso"] .pc-col.pc-col-proof .pc-col-h{color:var(--ink) !important;}   /* keeps --ink on "PROOF" (1× changes) */
html[data-theme="riso"] .pc-f.is-ok.fx .pc-lab{color:var(--pass-text) !important;}   /* keeps --pass on "EVIDENCE" (2× changes) */
html[data-theme="riso"] .pp-chip.is-ok{color:var(--pass-text) !important;}   /* keeps --pass on "status: approved" (2× public-proof) */
html[data-theme="riso"] .pp-f.is-ok.fx .pp-flab{color:var(--pass-text) !important;}   /* keeps --pass on "Retest" (1× public-proof) */
html[data-theme="riso"] .pp-pm-row.is-ok .pp-pm-lab{color:var(--pass-text) !important;}   /* keeps --pass on "What we published" (2× public-proof) */

/* verified */
html[data-theme="verified"] .p35-bound-col.is-human .p35-bound-h{color:var(--ink) !important;}   /* keeps --ink on "Only a person may" (1× agents) */
html[data-theme="verified"] .pc-cap-t.is-real{color:var(--pass-text) !important;}   /* keeps --pass on "Real record" (1× changes) */
html[data-theme="verified"] .pc-col.pc-col-proof .pc-col-h{color:var(--ink) !important;}   /* keeps --ink on "PROOF" (1× changes) */
html[data-theme="verified"] .pc-f.is-bad.fx .pc-lab{color:var(--fail-text) !important;}   /* keeps --fail on "VIOLATED REQUIREMENT" (2× changes) */
html[data-theme="verified"] .pc-f.is-ok.fx .pc-lab{color:var(--pass-text) !important;}   /* keeps --pass on "EVIDENCE" (2× changes) */
html[data-theme="verified"] .pc-rc-last.fx dt:not([class]){color:var(--stale-text) !important;}   /* keeps --stale on "WHAT REMAINS UNCERTAIN" (1× changes) */
html[data-theme="verified"] .pp-chip.is-bad{color:var(--fail-text) !important;}   /* keeps --fail on "was violated" (1× public-proof) */
html[data-theme="verified"] .pp-chip.is-ok{color:var(--pass-text) !important;}   /* keeps --pass on "status: approved" (2× public-proof) */
html[data-theme="verified"] .pp-f.is-bad.fx .pp-flab{color:var(--fail-text) !important;}   /* keeps --fail on "Observed" (1× public-proof) */
html[data-theme="verified"] .pp-f.is-ok.fx .pp-flab{color:var(--pass-text) !important;}   /* keeps --pass on "Retest" (1× public-proof) */
html[data-theme="verified"] .pp-pm-row.is-bad .pp-pm-lab{color:var(--fail-text) !important;}   /* keeps --fail on "What escaped, one of two" (3× public-proof) */
html[data-theme="verified"] .pp-pm-row.is-ok .pp-pm-lab{color:var(--pass-text) !important;}   /* keeps --pass on "What we published" (2× public-proof) */

/* --------------------------------------------------------------------------
   INLINE FORM VALIDATION (site.js). An invalid field carries the state's own
   hue on its border. Colour only, here because every theme re-declares the
   input border (terminal green wells, riso 1.5px plates, brutal 3px black)
   at up to (0,3,2); the html prefix matches that specificity and this sheet
   loads last, so the state wins in all eight themes without !important.
   -------------------------------------------------------------------------- */
html .lead-form input[aria-invalid="true"]:not(.hp),
html .lead-form select[aria-invalid="true"],
html .lead-form textarea[aria-invalid="true"]{border-color:var(--fail);}
