/*
 * UltronFast — interactive instrument layer (S22 live-walk follow-up).
 *
 * Styles for the 13 runtime-mounted components (the S12–S15 ports) and the
 * S22 SSR editorial sections. The M5.A design system (uf-guide.css) styles
 * prose, SSR widget cards, and the M5.C estimator markup — the runtime
 * components' ~80 class names had no CSS behind them and rendered as bare
 * HTML on a live theme (operator-reported; confirmed on the staging WP).
 *
 * Rules:
 *  - Everything is scoped under `.uf-interactive` (the runtime mount root,
 *    which also carries `.uf-widget`, so the design tokens are in scope) or
 *    under a `.uf-widget--<type>` SSR scope. Nothing here can restyle a host
 *    theme — same covenant as uf-guide.css.
 *  - Consumes the SAME `--uf-*` tokens (light + dark flip automatically).
 *  - The PAPER ARTIFACTS are print-pinned by design (the checklist's
 *    "receipt stays cream with print-pinned colors"): the receipt, the
 *    persona mini-receipts, and the manila case-file folder keep literal
 *    light-palette colors in BOTH color schemes.
 */

/* ------------------------------------------------------------ shared bits */
.uf-interactive button {
  appearance: none;
  font-family: var(--uf-sans);
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.uf-interactive .uf-trybtn {
  border: 0;
  background: var(--uf-green);
  color: #fff;
  font: 600 14px/1 var(--uf-sans);
  padding: 12px 18px;
  border-radius: 10px;
  box-shadow: var(--uf-shadow);
}
.uf-interactive .uf-trybtn:hover { background: var(--uf-green-2); transform: translateY(-1px); }
.uf-interactive img.emoji { width: 1em; height: 1em; vertical-align: -0.1em; }

/* chip / pill buttons (ecosystem chips, persona tabs, event + denial pickers) */
.uf-interactive .uf-chip,
.uf-interactive .uf-pt,
.uf-interactive .uf-ev,
.uf-interactive .uf-reason,
.uf-interactive .uf-psz,
.uf-interactive .uf-lg {
  border: 1px solid var(--uf-line-2);
  background: var(--uf-card);
  color: var(--uf-ink-2);
  font: 600 13px/1 var(--uf-sans);
  padding: 9px 14px;
  border-radius: 100px;
}
.uf-interactive .uf-chip:hover, .uf-interactive .uf-pt:hover, .uf-interactive .uf-ev:hover,
.uf-interactive .uf-reason:hover, .uf-interactive .uf-psz:hover, .uf-interactive .uf-lg:hover {
  border-color: var(--uf-green);
  color: var(--uf-ink);
}
.uf-interactive .uf-chip.on, .uf-interactive .uf-pt.on, .uf-interactive .uf-psz.on,
.uf-interactive .uf-lg.on {
  background: var(--uf-green);
  border-color: var(--uf-green);
  color: #fff;
}
.uf-interactive .uf-ev { font-family: var(--uf-mono); font-size: 11.5px; letter-spacing: .04em; }
.uf-interactive .uf-ev.on { background: var(--uf-ochre); border-color: var(--uf-ochre); color: #fff; }
.uf-interactive .uf-reason.on { background: var(--uf-ink); border-color: var(--uf-ink); color: var(--uf-card); }

/* selectable answer cards (classifier, buy-checker, deposit options) */
.uf-interactive .uf-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.uf-interactive .uf-item,
.uf-interactive .uf-dopt {
  border: 1px solid var(--uf-line);
  background: var(--uf-card);
  color: var(--uf-ink-2);
  font: 600 14px/1.35 var(--uf-sans);
  padding: 13px 14px;
  border-radius: 12px;
  text-align: left;
}
.uf-interactive .uf-item:hover, .uf-interactive .uf-dopt:hover { border-color: var(--uf-green); color: var(--uf-ink); }
.uf-interactive .uf-item.on { background: var(--uf-green-soft); border-color: var(--uf-green-2); color: var(--uf-ink); }

/* ------------------------------------------------------- calculator (S13) */
/* The runtime calculator is a single-flow instrument; override the M5.C
   two-column estimator grid that shares the .uf-calc root class. */
.uf-interactive .uf-calc {
  display: block;
  border: 0;
  box-shadow: none;
  background: transparent;
  overflow: visible;
}
.uf-interactive .uf-calc__title {
  font: 600 21px/1.25 var(--uf-serif);
  margin: 0 0 16px;
  color: var(--uf-ink);
}
.uf-interactive .uf-calc__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  background: var(--uf-paper-2);
  border: 1px solid var(--uf-line);
  border-radius: 14px;
  padding: 18px;
}
@media (max-width: 560px) { .uf-interactive .uf-calc__grid { grid-template-columns: 1fr; } }
.uf-interactive .uf-f { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.uf-interactive .uf-f > span {
  font: 600 11px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--uf-ink-3);
}
.uf-interactive .uf-calc input,
.uf-interactive .uf-calc input[type=number],
.uf-interactive .uf-calc select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--uf-line-2);
  border-radius: 10px;
  font: 500 15px var(--uf-mono);
  background: var(--uf-card);
  color: var(--uf-ink);
}
.uf-interactive .uf-calc input:focus, .uf-interactive .uf-calc select:focus {
  outline: none;
  border-color: var(--uf-green);
  box-shadow: 0 0 0 3px var(--uf-green-soft);
}
.uf-interactive .uf-f--chk {
  flex-direction: row;
  align-items: center;
  gap: 9px;
  align-self: end;
  padding: 10px 2px;
}
.uf-interactive .uf-f--chk > span {
  text-transform: none;
  letter-spacing: 0;
  font: 600 13.5px var(--uf-sans);
  color: var(--uf-ink-2);
}
.uf-interactive .uf-f--chk input { width: auto; accent-color: var(--uf-green); }
.uf-interactive .uf-suabtn {
  align-self: end;
  border: 1px solid var(--uf-ochre);
  background: var(--uf-ochre-soft);
  color: var(--uf-ochre);
  font: 600 12.5px/1 var(--uf-sans);
  padding: 10px 13px;
  border-radius: 10px;
}
.uf-interactive .uf-suabtn:hover { background: var(--uf-ochre); color: #fff; }
.uf-interactive .uf-langs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0;
}
.uf-interactive .uf-lg { padding: 8px 13px; font-family: var(--uf-mono); font-size: 12px; }
.uf-interactive .uf-preset {
  margin-left: auto;
  border: 1px solid var(--uf-green);
  background: transparent;
  color: var(--uf-green);
  font: 600 13.5px/1 var(--uf-sans);
  padding: 10px 16px;
  border-radius: 100px;
}
.uf-interactive .uf-preset:hover { background: var(--uf-green); color: #fff; }

/* The receipt — a PAPER ARTIFACT: cream in both schemes, print-pinned ink. */
.uf-interactive .uf-receipt {
  background: #FFFEF8;
  color: #1C1812;
  font-family: var(--uf-mono);
  padding: 22px 24px 26px;
  margin: 18px auto 6px;
  max-width: 480px;
  box-shadow: var(--uf-shadow-lg);
  position: relative;
}
.uf-interactive .uf-receipt::before,
.uf-interactive .uf-receipt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 9px;
}
.uf-interactive .uf-receipt::before {
  top: -9px;
  background: conic-gradient(from 135deg at 50% 0%, #FFFEF8 90deg, transparent 0) 0 0 / 14px 9px repeat-x;
}
.uf-interactive .uf-receipt::after {
  bottom: -9px;
  background: conic-gradient(from -45deg at 50% 100%, #FFFEF8 90deg, transparent 0) 0 0 / 14px 9px repeat-x;
}
.uf-interactive .uf-receipt__head {
  font: 600 13px/1.3 var(--uf-mono);
  letter-spacing: .08em;
}
.uf-interactive .uf-receipt__sub {
  font-size: 11px;
  letter-spacing: .06em;
  color: #7A6E5E;
  margin: 3px 0 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #D2C4AC;
}
.uf-interactive .uf-receipt .uf-badge {
  display: inline-block;
  font: 600 10.5px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 5px 10px;
  border-radius: 100px;
  border: 0;
  margin: 0 0 12px;
  background: #F4EDE0;
  color: #4A4136;
}
.uf-interactive .uf-receipt .uf-badge--ok { background: #E4EFE7; color: #1F5C3D; }
.uf-interactive .uf-receipt .uf-badge--no { background: #F6E2DB; color: #A6442E; }
.uf-interactive .uf-receipt .uf-badge--zero { background: #FBEFD6; color: #8a5d18; }
.uf-interactive .uf-rrow {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  font-size: 13.5px;
  padding: 5px 0;
  border-bottom: 1px dotted #E3D8C5;
}
.uf-interactive .uf-rrow span:last-child { white-space: nowrap; }
.uf-interactive .uf-rrow.net {
  border-bottom: 0;
  border-top: 1.5px solid #1C1812;
  margin-top: 4px;
  padding-top: 9px;
  font-weight: 600;
}
.uf-interactive .uf-receipt__total {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 3px double #1C1812;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.uf-interactive .uf-receipt__lab {
  font: 600 11px/1.3 var(--uf-mono);
  letter-spacing: .08em;
  max-width: 12ch;
}
.uf-interactive .uf-receipt__big {
  font: 600 44px/1 var(--uf-serif);
  color: #1F5C3D;
}
.uf-interactive .uf-receipt__big small,
.uf-interactive .uf-receipt__big .mo { font-size: 15px; color: #7A6E5E; }
.uf-interactive .uf-gates { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.uf-interactive .uf-gates span {
  font: 600 10.5px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 5px 10px;
  border-radius: 100px;
  background: #F4EDE0;
  color: #4A4136;
}
.uf-interactive .uf-gates span.pass { background: #E4EFE7; color: #1F5C3D; }
.uf-interactive .uf-gates span.fail { background: #F6E2DB; color: #A6442E; }

/* ---------------------------------------------------------- prize board */
.uf-interactive .uf-prize__sizes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.uf-interactive .uf-psz { min-width: 42px; padding: 11px 0; font-family: var(--uf-mono); }
.uf-interactive .uf-prize__big { display: flex; align-items: baseline; gap: 12px; margin: 6px 0 14px; }
.uf-interactive .uf-prize__big .n {
  font: 600 clamp(44px, 7vw, 64px)/1 var(--uf-serif);
  color: var(--uf-green);
}
.uf-interactive .uf-prize__big .l { font-size: 15px; color: var(--uf-ink-3); max-width: 22ch; line-height: 1.3; }
.uf-interactive .uf-prize__unlocks { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.uf-interactive .uf-pu {
  font-size: 12.5px;
  color: var(--uf-ink-2);
  background: var(--uf-ochre-soft);
  border: 1px solid var(--uf-line-2);
  padding: 6px 12px;
  border-radius: 100px;
}
.uf-interactive .uf-pu b { color: var(--uf-ink); }

/* ------------------------------------------------------------ score card */
.uf-interactive .uf-score__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
  font: 600 15px var(--uf-sans);
  color: var(--uf-ink-2);
}
.uf-interactive .uf-score__head .flag {
  font: 600 11px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--uf-ochre);
}
.uf-interactive .uf-stiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 640px) { .uf-interactive .uf-stiles { grid-template-columns: repeat(2, 1fr); } }
.uf-interactive .uf-stile {
  background: var(--uf-paper-2);
  border: 1px solid var(--uf-line);
  border-radius: 12px;
  padding: 14px 15px;
}
.uf-interactive .uf-stile .v { font: 600 25px/1.1 var(--uf-mono); color: var(--uf-ink); }
.uf-interactive .uf-stile .v.up { color: var(--uf-green); }
.uf-interactive .uf-stile .l {
  font: 600 10.5px/1.3 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--uf-ink-3);
  margin-top: 7px;
}
.uf-interactive .uf-confbar { margin-top: 16px; }
.uf-interactive .uf-confbar .ct {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--uf-ink-2);
  margin-bottom: 6px;
}
.uf-interactive .uf-confbar .track {
  height: 8px;
  border-radius: 100px;
  background: var(--uf-line);
  overflow: hidden;
}
.uf-interactive .uf-confbar .fill { height: 100%; background: var(--uf-green-2); border-radius: 100px; }
.uf-interactive .uf-confbar .why {
  font: italic 12.5px/1.5 var(--uf-serif);
  color: var(--uf-ink-3);
  margin-top: 8px;
}

/* ------------------------------------------------------------ loss ledger */
.uf-widget--loss-ledger { border-left: 3px solid var(--uf-clay); }
.uf-interactive .uf-shock__head { margin-bottom: 12px; }
.uf-interactive .uf-shock__head .skt {
  font: 600 11px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--uf-clay);
}
.uf-interactive .uf-shock__head .skn {
  font: 600 clamp(34px, 5vw, 46px)/1.05 var(--uf-serif);
  color: var(--uf-clay);
  margin: 6px 0 4px;
}
.uf-interactive .uf-shock__head .skn .yr { font: 500 15px var(--uf-sans); color: var(--uf-ink-3); }
.uf-interactive .uf-shock__head .sks { font-size: 13.5px; color: var(--uf-ink-2); }
.uf-interactive .uf-skrow {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font: 500 14px var(--uf-mono);
  padding: 7px 0;
  border-bottom: 1px solid var(--uf-line);
}
.uf-interactive .uf-skrow .skl { color: var(--uf-ink-2); font-family: var(--uf-sans); }
.uf-interactive .uf-skrow .skv { color: var(--uf-clay); font-weight: 600; white-space: nowrap; }
.uf-interactive .uf-skctx { font-size: 12.5px; color: var(--uf-ink-3); margin-top: 12px; }
.uf-interactive .uf-skctx a { color: var(--uf-green); }

/* -------------------------------------------------------------- ecosystem */
.uf-interactive .uf-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.uf-interactive .uf-eco__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1.5px solid var(--uf-ink);
}
.uf-interactive .uf-eco__head .et { font: 600 18px var(--uf-serif); }
.uf-interactive .uf-eco__head .ev { text-align: right; }
.uf-interactive .uf-eco__head .ev .n { font: 600 22px var(--uf-mono); color: var(--uf-green); }
.uf-interactive .uf-eco__head .ev .l { display: block; font-size: 11px; color: var(--uf-ink-3); }
.uf-interactive .uf-tierlab {
  font: 600 11px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .07em;
  margin: 16px 0 6px;
}
.uf-interactive .uf-tierlab.very { color: var(--uf-green); }
.uf-interactive .uf-tierlab.chk { color: var(--uf-ochre); }
.uf-interactive .uf-erow {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: 8px 0;
  border-bottom: 1px solid var(--uf-line);
  font-size: 14.5px;
}
.uf-interactive .uf-erow .en { color: var(--uf-ink); font-weight: 600; }
.uf-interactive .uf-erow .en .ew {
  display: block;
  font-weight: 400;
  font-size: 12.5px;
  color: var(--uf-ink-3);
}
.uf-interactive .uf-erow .ea { font: 600 14px var(--uf-mono); color: var(--uf-green); white-space: nowrap; }
.uf-interactive .uf-erow.chk .ea { color: var(--uf-ochre); }
.uf-interactive .uf-eco__foot {
  font: italic 12.5px/1.5 var(--uf-serif);
  color: var(--uf-ink-3);
  margin-top: 12px;
}

/* -------------------------------------- case file: the manila folder ---- */
.uf-interactive .uf-file { margin: 34px 0 16px; }
.uf-interactive .uf-folder {
  background: #F0E2C4;
  color: #1C1812;
  border: 1px solid #D9C69A;
  border-radius: 0 14px 14px 14px;
  padding: 20px 22px;
  position: relative;
  box-shadow: var(--uf-shadow-lg);
}
.uf-interactive .uf-folder__tab {
  position: absolute;
  top: -28px;
  left: -1px;
  background: #E4D2A8;
  border: 1px solid #D9C69A;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  padding: 7px 16px;
  font: 600 11px/1 var(--uf-mono);
  letter-spacing: .08em;
  color: #6B5A33;
}
.uf-interactive .uf-stamp {
  position: absolute;
  top: 14px;
  right: 16px;
  transform: rotate(7deg);
  font: 700 11px/1 var(--uf-mono);
  letter-spacing: .1em;
  color: #A6442E;
  border: 2px solid #A6442E;
  border-radius: 4px;
  padding: 5px 10px;
  opacity: .85;
}
.uf-interactive .uf-folder h4 {
  font: 600 12px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6B5A33;
  margin: 18px 0 8px;
  padding-bottom: 5px;
  border-bottom: 1px dashed #D9C69A;
}
.uf-interactive .uf-folder h4:first-of-type { margin-top: 4px; }
.uf-interactive .uf-folder p { color: #4A4136; font-size: 14px; margin: 0; }
.uf-interactive .uf-ex-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font: 500 13.5px var(--uf-sans);
  padding: 5px 0;
}
.uf-interactive .uf-ex-row .v {
  font-family: var(--uf-mono);
  font-weight: 600;
  color: #1F5C3D;
  white-space: nowrap;
}
.uf-interactive .uf-ex-row--clear { font: italic 14px var(--uf-serif); color: #6B5A33; }
.uf-interactive .uf-folder__wait {
  margin: 12px 0;
  padding: 12px 14px;
  background: #FBEFD6;
  border-left: 3px solid #B7791F;
  border-radius: 0 8px 8px 0;
  font-size: 13.5px;
  color: #4A4136;
}
.uf-interactive .uf-folder__wait b { color: #8a5d18; }
.uf-interactive .uf-ex-ck { font-size: 13.5px; color: #1C1812; padding: 4px 0; }
.uf-interactive .uf-ex-say {
  font: italic 14px/1.5 var(--uf-serif);
  color: #4A4136;
  border-left: 2px solid #D9C69A;
  padding: 3px 0 3px 12px;
  margin: 7px 0;
}
.uf-interactive .uf-artifacts > .uf-trybtn { margin: 14px 10px 0 0; }
.uf-interactive .uf-card-preview {
  display: block;
  width: 100%;
  max-width: 340px;
  border-radius: 12px;
  margin-top: 16px;
  box-shadow: var(--uf-shadow-lg);
}

/* ------------------------------------------ classifier + buy-checker ---- */
.uf-interactive .uf-ruling { display: none; }
.uf-interactive .uf-ruling.show {
  display: block;
  background: var(--uf-paper-2);
  border: 1px solid var(--uf-line);
  border-radius: 14px;
  padding: 16px 18px;
}
.uf-interactive .uf-ruling .rb {
  display: inline-block;
  font: 600 10.5px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 5px 11px;
  border-radius: 100px;
}
.uf-interactive .uf-ruling .rb.yes { background: var(--uf-green-soft); color: var(--uf-green); }
.uf-interactive .uf-ruling .rb.no { background: var(--uf-clay-soft); color: var(--uf-clay); }
.uf-interactive .uf-ruling .rb.dep { background: var(--uf-ochre-soft); color: var(--uf-ochre); }
.uf-interactive .uf-ruling .rh2 { font: 600 17px var(--uf-serif); margin: 9px 0 6px; color: var(--uf-ink); }
.uf-interactive .uf-ruling p { font-size: 14.5px; color: var(--uf-ink-2); margin: 0; }
.uf-interactive .uf-rmp { font-size: 12.5px; color: var(--uf-ink-3); margin-top: 12px; }

/* ---------------------------------------------------------- personas ---- */
.uf-interactive .uf-ptabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.uf-interactive .uf-pcase {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: start;
}
@media (max-width: 680px) { .uf-interactive .uf-pcase { grid-template-columns: 1fr; } }
.uf-interactive .uf-pcase .story h3 { font: 600 22px/1.2 var(--uf-serif); margin: 0 0 8px; color: var(--uf-ink); }
.uf-interactive .uf-pcase .story p { font-size: 15px; color: var(--uf-ink-2); margin: 0 0 10px; }
.uf-interactive .uf-pcase .pivot {
  background: var(--uf-ochre-soft);
  border-left: 3px solid var(--uf-ochre);
  border-radius: 0 8px 8px 0;
  padding: 10px 13px;
  font-size: 14.5px;
  color: var(--uf-ink-2);
}
/* the persona mini-receipt is a paper artifact too — pinned cream */
.uf-interactive .uf-minirec {
  background: #FFFEF8;
  color: #1C1812;
  font-family: var(--uf-mono);
  padding: 16px 18px;
  box-shadow: var(--uf-shadow);
  transform: rotate(.4deg);
}
.uf-interactive .uf-minirec .mh {
  font: 600 10.5px/1.3 var(--uf-mono);
  letter-spacing: .07em;
  color: #7A6E5E;
  margin-bottom: 8px;
  padding-bottom: 7px;
  border-bottom: 1px dashed #D2C4AC;
}
.uf-interactive .uf-minirec .uf-rrow { font-size: 12.5px; }
.uf-interactive .uf-minirec .uf-rrow.tot {
  border-bottom: 0;
  border-top: 1.5px solid #1C1812;
  margin-top: 4px;
  padding-top: 8px;
  font-weight: 600;
  color: #1F5C3D;
}
.uf-interactive [data-uf-verify="stale"] { outline: 2px dashed var(--uf-clay); outline-offset: 3px; }
.uf-interactive .pbridge { margin-top: 14px; }

/* ---------------------------------------------------------- benchmark ---- */
.uf-interactive .uf-bmk__head { margin-bottom: 12px; }
.uf-interactive .uf-bmk__head .bt { font: 600 19px var(--uf-serif); color: var(--uf-ink); }
.uf-interactive .uf-bmk__head .bs { font-size: 13.5px; color: var(--uf-ink-3); margin-top: 3px; }
.uf-interactive .uf-brow {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 6px 14px;
  align-items: baseline;
  padding: 10px 2px;
  border-bottom: 1px solid var(--uf-line);
}
@media (max-width: 560px) { .uf-interactive .uf-brow { grid-template-columns: 1fr auto; } }
.uf-interactive .uf-brow .binc { font: 600 14px var(--uf-mono); color: var(--uf-ink); }
.uf-interactive .uf-brow .bprogs { font-size: 13.5px; color: var(--uf-ink-2); }
.uf-interactive .uf-brow .bben { font: 600 14px var(--uf-mono); color: var(--uf-green); white-space: nowrap; }
.uf-interactive .uf-brow.you {
  background: var(--uf-green-soft);
  border: 1px solid var(--uf-green-2);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 2px -10px;
}
.uf-interactive .uf-bmk__foot {
  font: italic 13px/1.5 var(--uf-serif);
  color: var(--uf-ink-3);
  margin-top: 12px;
}

/* --------------------------------------------------- life-event deltas ---- */
.uf-interactive .uf-evs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.uf-interactive .uf-delta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  background: var(--uf-paper-2);
  border: 1px solid var(--uf-line);
  border-radius: 14px;
  padding: 16px 18px;
}
.uf-interactive .uf-delta .v { font: 600 24px/1.1 var(--uf-mono); color: var(--uf-ink); }
.uf-interactive .uf-delta .l {
  font: 600 10.5px/1.3 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--uf-ink-3);
  margin-top: 5px;
}
.uf-interactive .uf-delta .arrow { font-size: 22px; color: var(--uf-ink-3); }
.uf-interactive .uf-delta .chg b { font: 600 18px var(--uf-mono); color: var(--uf-green); }
.uf-interactive .uf-delta .chg b.down { color: var(--uf-clay); }
.uf-interactive .uf-delta .report {
  flex-basis: 100%;
  border-left: 3px solid var(--uf-green);
  background: var(--uf-card);
  border-radius: 0 8px 8px 0;
  padding: 11px 14px;
  font-size: 14px;
  color: var(--uf-ink-2);
}

/* ------------------------------------------------------- denial decoder ---- */
.uf-interactive .uf-reasons { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.uf-interactive .uf-verdict { display: none; }
.uf-interactive .uf-verdict.show {
  display: block;
  border-radius: 14px;
  padding: 18px 20px;
  border: 1px solid var(--uf-line);
}
.uf-interactive .uf-verdict.strong { background: var(--uf-green-soft); border-color: var(--uf-green-2); }
.uf-interactive .uf-verdict.fix { background: var(--uf-ochre-soft); border-color: var(--uf-ochre); }
.uf-interactive .uf-verdict .vt {
  font: 600 11px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .07em;
}
.uf-interactive .uf-verdict.strong .vt { color: var(--uf-green); }
.uf-interactive .uf-verdict.fix .vt { color: var(--uf-ochre); }
.uf-interactive .uf-verdict .vh { font: 600 18px/1.3 var(--uf-serif); margin: 7px 0 8px; color: var(--uf-ink); }
.uf-interactive .uf-verdict p { font-size: 14.5px; color: var(--uf-ink-2); margin: 0; }
.uf-interactive .uf-verdict .clock {
  margin-top: 12px;
  font: 600 12.5px var(--uf-mono);
  color: var(--uf-clay);
}

/* ------------------------------------------------------ deposit decoder ---- */
.uf-interactive .uf-dq { font: 600 17px/1.4 var(--uf-serif); color: var(--uf-ink); margin-bottom: 12px; }
.uf-interactive .uf-dopts { display: grid; gap: 10px; }
.uf-interactive .uf-dres {
  background: var(--uf-green-soft);
  border: 1px solid var(--uf-green-2);
  border-radius: 14px;
  padding: 16px 18px;
}
.uf-interactive .uf-dres .dt { font: 600 17px var(--uf-serif); margin-bottom: 6px; color: var(--uf-ink); }
.uf-interactive .uf-dres p { font-size: 14.5px; color: var(--uf-ink-2); margin: 0; }
.uf-interactive .uf-dsched { font: 600 12.5px var(--uf-mono); color: var(--uf-ink-2); margin-top: 10px; }
.uf-interactive .uf-dback {
  border: 0;
  background: none;
  font: 600 12.5px var(--uf-mono);
  color: var(--uf-ink-3);
  text-decoration: underline;
  margin-top: 12px;
  padding: 0;
}
.uf-interactive .uf-dback:hover { color: var(--uf-ink); }

/* ============================== S22 SSR editorial sections =============== */

/* six deduction cards: ride the chrome .uf-dcard card; add grid + badges */
.uf-widget--deduction-cards .uf-dcards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 860px) { .uf-widget--deduction-cards .uf-dcards { grid-template-columns: 1fr; } }
.uf-widget--deduction-cards .uf-dcard__badge {
  display: inline-block;
  font: 600 10.5px/1 var(--uf-mono);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 5px 11px;
  border-radius: 100px;
}
.uf-widget--deduction-cards .uf-dcard--automatic .uf-dcard__badge { background: var(--uf-green-soft); color: var(--uf-green); }
.uf-widget--deduction-cards .uf-dcard--claim .uf-dcard__badge { background: var(--uf-ochre-soft); color: var(--uf-ochre); }
.uf-widget--deduction-cards .uf-dcard__name { font: 600 18px/1.25 var(--uf-serif); margin: 10px 0 2px; color: var(--uf-ink); }
.uf-widget--deduction-cards .uf-dcard__figure { font: 600 15px var(--uf-mono); color: var(--uf-green); margin: 0; }
.uf-widget--deduction-cards .uf-dcard__body { font-size: 14px; color: var(--uf-ink-2); margin: 8px 0 0; }

/* filing timeline (override the M6 chrome .uf-timeline 5-col tstep grid) */
.uf-widget--timeline .uf-timeline {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  list-style: none;
  counter-reset: uf-step;
  margin: 0;
  padding: 0;
}
@media (max-width: 820px) { .uf-widget--timeline .uf-timeline { grid-template-columns: 1fr; } }
.uf-widget--timeline .uf-timeline__step { counter-increment: uf-step; margin: 0; }
.uf-widget--timeline .uf-timeline__step::before {
  content: counter(uf-step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--uf-green);
  color: #fff;
  font: 600 17px var(--uf-serif);
  margin-bottom: 10px;
}
.uf-widget--timeline .uf-timeline__step:nth-child(n+4)::before { background: var(--uf-ochre); }
.uf-widget--timeline .uf-timeline__label { font: 600 15px/1.3 var(--uf-sans); color: var(--uf-ink); margin: 0 0 5px; }
.uf-widget--timeline .uf-timeline__body { font-size: 13.5px; line-height: 1.5; color: var(--uf-ink-2); margin: 0; }
.uf-widget--timeline .uf-timeline__crisis {
  margin-top: 20px;
  background: var(--uf-clay-soft);
  border-left: 3px solid var(--uf-clay);
  border-radius: 0 12px 12px 0;
  padding: 14px 18px;
}
.uf-widget--timeline .uf-timeline__ctitle { font: 600 16px var(--uf-serif); color: var(--uf-clay); margin: 0 0 4px; }
.uf-widget--timeline .uf-timeline__cbody { font-size: 14px; color: var(--uf-ink-2); margin: 0; }

/* edge rules: myth-corrected boxes */
.uf-widget--edge-rules .uf-edges { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 720px) { .uf-widget--edge-rules .uf-edges { grid-template-columns: 1fr; } }
.uf-widget--edge-rules .uf-edge {
  background: var(--uf-card);
  border: 1px solid var(--uf-line);
  border-radius: 14px;
  padding: 16px 18px;
}
.uf-widget--edge-rules .uf-edge__label { font: 600 16.5px var(--uf-serif); color: var(--uf-ink); margin: 0 0 6px; }
.uf-widget--edge-rules .uf-edge__myth {
  font: italic 14px/1.5 var(--uf-serif);
  color: var(--uf-clay);
  margin: 0 0 7px;
}
.uf-widget--edge-rules .uf-edge__fact { font-size: 14px; color: var(--uf-ink-2); margin: 0; }

/* state switcher (SSR state cards) */
.uf-widget--state-switcher .uf-states {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 14px;
}
.uf-widget--state-switcher .uf-state {
  background: var(--uf-paper-2);
  border: 1px solid var(--uf-line);
  border-radius: 14px;
  padding: 14px 16px;
}
.uf-widget--state-switcher .uf-state__code {
  font: 600 13px/1 var(--uf-mono);
  letter-spacing: .1em;
  color: var(--uf-green);
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--uf-line);
}
.uf-widget--state-switcher .uf-state__row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12.5px;
  color: var(--uf-ink-3);
  padding: 4px 0;
}
.uf-widget--state-switcher .uf-state__row .v {
  color: var(--uf-ink);
  font-family: var(--uf-mono);
  font-weight: 600;
  text-align: right;
}

/* changelog (the living-page history) */
.uf-widget--changelog .uf-chlog {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 2px solid var(--uf-line-2);
}
.uf-widget--changelog .uf-chlog__entry {
  position: relative;
  padding: 0 0 16px 20px;
  font-size: 14.5px;
  color: var(--uf-ink-2);
}
.uf-widget--changelog .uf-chlog__entry::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 6px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--uf-ochre);
  border: 2px solid var(--uf-card);
}
.uf-widget--changelog .uf-chlog__date {
  display: block;
  font: 600 11.5px/1 var(--uf-mono);
  letter-spacing: .06em;
  color: var(--uf-ochre);
  margin-bottom: 4px;
}
.uf-widget--changelog .uf-chlog__src { color: var(--uf-green); font-size: 12.5px; }

/* SSA payment schedule (SSR rows) */
.uf-widget--ss-payment-schedule .uf-paysched__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: 11px 2px;
  border-bottom: 1px solid var(--uf-line);
  font-size: 14.5px;
}
.uf-widget--ss-payment-schedule .uf-paysched__row:last-child { border-bottom: 0; }
.uf-widget--ss-payment-schedule .uf-paysched__who { color: var(--uf-ink-2); font-weight: 600; }
.uf-widget--ss-payment-schedule .uf-paysched__date {
  font: 600 14px var(--uf-mono);
  color: var(--uf-green);
  white-space: nowrap;
}

/* disclaimer */
.uf-widget--disclaimer { background: var(--uf-paper-2); }
.uf-widget--disclaimer .uf-disclaimer__line {
  font-size: 13.5px;
  color: var(--uf-ink-3);
  margin: 0 0 8px;
  max-width: 75ch;
}

/* Civic instruments — cola_calculator */
.uf-widget--cola-calculator .uf-cola { display: grid; gap: 14px; }
.uf-widget--cola-calculator .uf-cola__field { display: flex; flex-direction: column; gap: 6px; font: 600 14px var(--uf-sans); color: var(--uf-ink-2); }
.uf-widget--cola-calculator .uf-cola__money { display: inline-flex; align-items: center; gap: 4px; font: 600 18px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--cola-calculator .uf-cola__money input { width: 8ch; border: 1px solid var(--uf-line); border-radius: 8px; padding: 6px 8px; font: inherit; background: var(--uf-card); color: var(--uf-ink); }
.uf-widget--cola-calculator .uf-cola__out { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 4px; }
.uf-widget--cola-calculator .uf-cola__cell { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: 12px; padding: 12px; text-align: center; }
.uf-widget--cola-calculator .uf-cola__cell span { display: block; font: 600 12px var(--uf-sans); color: var(--uf-ink-3); margin-bottom: 4px; }
.uf-widget--cola-calculator .uf-cola__cell b { font: 700 19px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--cola-calculator .uf-cola__cell--land { background: var(--uf-green-soft); border-color: var(--uf-green); }
.uf-widget--cola-calculator .uf-cola__cell--land b { color: var(--uf-green-2); }

/* Civic instruments — deposit_countdown */
.uf-widget--deposit-countdown .uf-cd { display: grid; gap: 14px; }
.uf-widget--deposit-countdown .uf-cd__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.uf-widget--deposit-countdown .uf-cd__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 7px 13px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--deposit-countdown .uf-cd__chip.is-on { background: var(--uf-green); border-color: var(--uf-green); color: #fff; }
.uf-widget--deposit-countdown .uf-cd__clock { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.uf-widget--deposit-countdown .uf-cd__tile { background: var(--uf-ink); color: var(--uf-paper-2); border-radius: 12px; padding: 14px 0; text-align: center; }
.uf-widget--deposit-countdown .uf-cd__tile b { display: block; font: 700 28px var(--uf-mono); letter-spacing: 1px; }
.uf-widget--deposit-countdown .uf-cd__tile span { font: 600 11px var(--uf-sans); text-transform: uppercase; opacity: .7; }
.uf-widget--deposit-countdown .uf-cd__next { font: 600 15px var(--uf-serif); color: var(--uf-ink); text-align: center; }

/* Civic instruments — benefit_story */
.uf-widget--benefit-story .uf-story { display: grid; gap: 16px; }
.uf-widget--benefit-story .uf-story__setup { display: grid; gap: 10px; }
.uf-widget--benefit-story .uf-story__name, .uf-widget--benefit-story .uf-story__money input { border: 1px solid var(--uf-line); border-radius: 8px; padding: 8px 10px; font: 600 16px var(--uf-sans); background: var(--uf-card); color: var(--uf-ink); }
.uf-widget--benefit-story .uf-story__money { display: inline-flex; align-items: center; gap: 4px; font: 600 16px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--benefit-story .uf-story__money input { width: 9ch; }
.uf-widget--benefit-story .uf-story__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.uf-widget--benefit-story .uf-story__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 6px 12px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--benefit-story .uf-story__chip.is-on { background: var(--uf-green); border-color: var(--uf-green); color: #fff; }
.uf-widget--benefit-story .uf-story__play { justify-self: start; background: var(--uf-ink); color: var(--uf-paper-2); border: 0; border-radius: 10px; padding: 10px 18px; font: 700 14px var(--uf-sans); cursor: pointer; }
.uf-widget--benefit-story .uf-story__play:disabled { opacity: .4; cursor: not-allowed; }
.uf-widget--benefit-story .uf-story__film { display: grid; gap: 12px; }
.uf-widget--benefit-story .uf-story__chapter { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: 14px; padding: 16px 18px; opacity: 0; transform: translateY(8px); animation: uf-story-rise .5s ease forwards; }
@keyframes uf-story-rise { to { opacity: 1; transform: none; } }
.uf-widget--benefit-story .uf-story__kicker { display: block; font: 700 11px var(--uf-sans); text-transform: uppercase; letter-spacing: 1px; color: var(--uf-ink-3); margin-bottom: 6px; }
.uf-widget--benefit-story .uf-story__body h3 { font: 700 22px var(--uf-serif); color: var(--uf-ink); margin: 0; }
.uf-widget--benefit-story .uf-story__old { color: var(--uf-ink-3); text-decoration: line-through; }
.uf-widget--benefit-story .uf-story__new { color: var(--uf-green-2); }
.uf-widget--benefit-story .uf-story__body ul { margin: 6px 0; padding-left: 18px; color: var(--uf-clay); }

/* Civic instruments — garnishment_defense */
.uf-widget--garnishment-defense .uf-garnish { display: grid; gap: 14px; }
.uf-widget--garnishment-defense .uf-garnish__field { display: flex; flex-direction: column; gap: 6px; font: 600 14px var(--uf-sans); color: var(--uf-ink-2); }
.uf-widget--garnishment-defense .uf-garnish__money { display: inline-flex; align-items: center; gap: 4px; font: 600 18px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--garnishment-defense .uf-garnish__money input { width: 9ch; border: 1px solid var(--uf-line); border-radius: 8px; padding: 6px 8px; font: inherit; background: var(--uf-card); color: var(--uf-ink); }
.uf-widget--garnishment-defense .uf-garnish__verdict { border-radius: 12px; padding: 14px 16px; font: 500 15px var(--uf-serif); }
.uf-widget--garnishment-defense .uf-garnish__verdict.is-safe { background: var(--uf-green-soft); color: var(--uf-green-2); }
.uf-widget--garnishment-defense .uf-garnish__verdict.is-hit { background: var(--uf-ochre-soft); color: var(--uf-ink); }
.uf-widget--garnishment-defense .uf-garnish__status { font: 500 13px var(--uf-sans); color: var(--uf-ink-3); margin: 0; }
.uf-widget--garnishment-defense .uf-garnish__exits { display: grid; gap: 10px; }
.uf-widget--garnishment-defense .uf-garnish__exit { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: 12px; padding: 12px 14px; }
.uf-widget--garnishment-defense .uf-garnish__exit b { display: block; font: 700 14px var(--uf-sans); color: var(--uf-ink); margin-bottom: 3px; }
.uf-widget--garnishment-defense .uf-garnish__exit span { font: 400 13.5px var(--uf-serif); color: var(--uf-ink-2); }

/* Civic instruments — overpayment_wizard */
.uf-widget--overpayment-wizard .uf-overpay { display: grid; gap: 14px; }
.uf-widget--overpayment-wizard .uf-overpay__inputs { display: grid; gap: 10px; }
.uf-widget--overpayment-wizard .uf-overpay__field { display: flex; flex-direction: column; gap: 6px; font: 600 14px var(--uf-sans); color: var(--uf-ink-2); }
.uf-widget--overpayment-wizard .uf-overpay__money { display: inline-flex; align-items: center; gap: 4px; font: 600 18px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--overpayment-wizard .uf-overpay__money input { width: 9ch; border: 1px solid var(--uf-line); border-radius: 8px; padding: 6px 8px; font: inherit; background: var(--uf-card); color: var(--uf-ink); }
.uf-widget--overpayment-wizard .uf-overpay__kind { display: flex; flex-wrap: wrap; gap: 8px; }
.uf-widget--overpayment-wizard .uf-overpay__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 7px 13px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--overpayment-wizard .uf-overpay__chip.is-on { background: var(--uf-green); border-color: var(--uf-green); color: #fff; }
.uf-widget--overpayment-wizard .uf-overpay__verdict { background: var(--uf-ochre-soft); border-radius: 12px; padding: 14px 16px; font: 500 15px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--overpayment-wizard .uf-overpay__paths { display: grid; gap: 10px; }
.uf-widget--overpayment-wizard .uf-overpay__path { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: 12px; padding: 12px 14px; }
.uf-widget--overpayment-wizard .uf-overpay__path b { display: block; font: 700 14px var(--uf-sans); color: var(--uf-ink); margin-bottom: 3px; }
.uf-widget--overpayment-wizard .uf-overpay__path span { font: 400 13.5px var(--uf-serif); color: var(--uf-ink-2); }

/* Civic instruments — survivor_underpayment_audit */
.uf-widget--survivor-underpayment-audit .uf-survivor { display: grid; gap: 14px; }
.uf-widget--survivor-underpayment-audit .uf-survivor__qs { display: grid; gap: 12px; }
.uf-widget--survivor-underpayment-audit .uf-survivor__q p { margin: 0 0 6px; font: 600 14.5px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--survivor-underpayment-audit .uf-survivor__yn { display: flex; gap: 8px; }
.uf-widget--survivor-underpayment-audit .uf-survivor__yn button { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 5px 16px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--survivor-underpayment-audit .uf-survivor__yn button.is-on { background: var(--uf-ink); border-color: var(--uf-ink); color: var(--uf-paper-2); }
.uf-widget--survivor-underpayment-audit .uf-survivor__verdict { border-radius: 12px; padding: 14px 16px; }
.uf-widget--survivor-underpayment-audit .uf-survivor__verdict.is-flag { background: var(--uf-ochre-soft); }
.uf-widget--survivor-underpayment-audit .uf-survivor__verdict.is-clear { background: var(--uf-green-soft); }
.uf-widget--survivor-underpayment-audit .uf-survivor__verdict p { margin: 0 0 10px; font: 500 15px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--survivor-underpayment-audit .uf-survivor__script { margin: 0 0 10px; padding: 12px 14px; background: var(--uf-card); border-left: 3px solid var(--uf-ochre); border-radius: 8px; font: 400 13.5px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--survivor-underpayment-audit .uf-survivor__copy { background: var(--uf-ink); color: var(--uf-paper-2); border: 0; border-radius: 8px; padding: 8px 16px; font: 700 13px var(--uf-sans); cursor: pointer; }

/* Civic instruments — call_prep */
.uf-widget--call-prep .uf-callprep { display: grid; gap: 14px; }
.uf-widget--call-prep .uf-callprep__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.uf-widget--call-prep .uf-callprep__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 6px 13px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--call-prep .uf-callprep__chip.is-on { background: var(--uf-green); border-color: var(--uf-green); color: #fff; }
.uf-widget--call-prep .uf-callprep__panel { background: var(--uf-card); border: 1px solid var(--uf-line); border-radius: 14px; padding: 16px 18px; }
.uf-widget--call-prep .uf-callprep__h { font: 700 11px var(--uf-sans); text-transform: uppercase; letter-spacing: 1px; color: var(--uf-ink-3); margin: 0 0 6px; }
.uf-widget--call-prep .uf-callprep__docs { margin: 0 0 14px; padding-left: 18px; }
.uf-widget--call-prep .uf-callprep__docs li { font: 400 14px var(--uf-serif); color: var(--uf-ink); margin-bottom: 4px; }
.uf-widget--call-prep .uf-callprep__script { margin: 0 0 12px; padding: 12px 14px; background: var(--uf-paper-2); border-left: 3px solid var(--uf-green); border-radius: 8px; font: 400 13.5px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--call-prep .uf-callprep__copy { background: var(--uf-ink); color: var(--uf-paper-2); border: 0; border-radius: 8px; padding: 8px 16px; font: 700 13px var(--uf-sans); cursor: pointer; }
.uf-widget--call-prep .uf-callprep__contact { font: 500 13px var(--uf-sans); color: var(--uf-ink-3); margin: 0; }

/* Civic instruments — ssi_asset_tracker */
.uf-widget--ssi-asset-tracker .uf-ssi { display: grid; gap: 12px; }
.uf-widget--ssi-asset-tracker .uf-ssi__field { display: flex; flex-direction: column; gap: 6px; font: 600 13.5px var(--uf-sans); color: var(--uf-ink-2); }
.uf-widget--ssi-asset-tracker .uf-ssi__money { display: inline-flex; align-items: center; gap: 4px; font: 600 17px var(--uf-mono); color: var(--uf-ink); }
.uf-widget--ssi-asset-tracker .uf-ssi__money input { width: 9ch; border: 1px solid var(--uf-line); border-radius: 8px; padding: 6px 8px; font: inherit; background: var(--uf-card); color: var(--uf-ink); }
.uf-widget--ssi-asset-tracker .uf-ssi__married { display: flex; align-items: center; gap: 8px; font: 600 13.5px var(--uf-sans); color: var(--uf-ink-2); }
.uf-widget--ssi-asset-tracker .uf-ssi__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 5px 14px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--ssi-asset-tracker .uf-ssi__chip.is-on { background: var(--uf-green); border-color: var(--uf-green); color: #fff; }
.uf-widget--ssi-asset-tracker .uf-ssi__bar { height: 12px; background: var(--uf-line-2, var(--uf-line)); border-radius: 999px; overflow: hidden; }
.uf-widget--ssi-asset-tracker .uf-ssi__fill { height: 100%; width: 0; background: var(--uf-green); transition: width .2s ease; }
.uf-widget--ssi-asset-tracker .uf-ssi__fill.is-caution { background: var(--uf-ochre); }
.uf-widget--ssi-asset-tracker .uf-ssi__fill.is-danger { background: var(--uf-clay); }
.uf-widget--ssi-asset-tracker .uf-ssi__verdict { font: 500 14.5px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--ssi-asset-tracker .uf-ssi__verdict.is-danger { color: var(--uf-clay); }
.uf-widget--ssi-asset-tracker .uf-ssi__exclusions summary { font: 600 13px var(--uf-sans); color: var(--uf-ink-3); cursor: pointer; }
.uf-widget--ssi-asset-tracker .uf-ssi__exclusions ul { margin: 8px 0 0; padding-left: 18px; font: 400 13.5px var(--uf-serif); color: var(--uf-ink-2); }

/* Civic instruments — fairness_act_check */
.uf-widget--fairness-act-check .uf-fair { display: grid; gap: 14px; }
.uf-widget--fairness-act-check .uf-fair__qs { display: grid; gap: 12px; }
.uf-widget--fairness-act-check .uf-fair__q p { margin: 0 0 6px; font: 600 14.5px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--fairness-act-check .uf-fair__yn { display: flex; gap: 8px; }
.uf-widget--fairness-act-check .uf-fair__yn button { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 5px 16px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--fairness-act-check .uf-fair__yn button.is-on { background: var(--uf-ink); border-color: var(--uf-ink); color: var(--uf-paper-2); }
.uf-widget--fairness-act-check .uf-fair__verdict { border-radius: 12px; padding: 14px 16px; }
.uf-widget--fairness-act-check .uf-fair__verdict.is-affected { background: var(--uf-green-soft); }
.uf-widget--fairness-act-check .uf-fair__verdict.is-clear { background: var(--uf-paper-2); }
.uf-widget--fairness-act-check .uf-fair__verdict p { margin: 0 0 10px; font: 500 15px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--fairness-act-check .uf-fair__verdict ul { margin: 0; padding-left: 18px; }
.uf-widget--fairness-act-check .uf-fair__verdict li { font: 400 13.5px var(--uf-serif); color: var(--uf-ink-2); margin-bottom: 6px; }

/* Civic instruments — benefit_solver (capstone router) */
.uf-widget--benefit-solver .uf-solver { display: grid; gap: 14px; }
.uf-widget--benefit-solver .uf-solver__field { display: flex; flex-direction: column; gap: 6px; }
.uf-widget--benefit-solver .uf-solver__prompt { font: 700 14px var(--uf-sans); color: var(--uf-ink); }
.uf-widget--benefit-solver .uf-solver__input { border: 1px solid var(--uf-line); border-radius: 10px; padding: 10px 12px; font: 400 15px var(--uf-serif); background: var(--uf-card); color: var(--uf-ink); resize: vertical; }
.uf-widget--benefit-solver .uf-solver__input:focus { outline: none; border-color: var(--uf-green); box-shadow: 0 0 0 3px var(--uf-green-soft); }
.uf-widget--benefit-solver .uf-solver__go { justify-self: start; background: var(--uf-green); color: #fff; border: 0; border-radius: 10px; padding: 10px 18px; font: 700 14px var(--uf-sans); cursor: pointer; }
.uf-widget--benefit-solver .uf-solver__go:disabled { opacity: .4; cursor: not-allowed; }
.uf-widget--benefit-solver .uf-solver__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.uf-widget--benefit-solver .uf-solver__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 5px 12px; font: 600 12.5px var(--uf-sans); cursor: pointer; }
.uf-widget--benefit-solver .uf-solver__chip:hover { border-color: var(--uf-green); color: var(--uf-ink); }
.uf-widget--benefit-solver .uf-solver__miss { background: var(--uf-paper-2); border-radius: 12px; padding: 14px 16px; font: 500 14.5px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--benefit-solver .uf-solver__card { border: 1px solid var(--uf-green); border-radius: 14px; overflow: hidden; }
.uf-widget--benefit-solver .uf-solver__title { background: var(--uf-green); color: #fff; padding: 10px 16px; font: 700 14px var(--uf-sans); }
.uf-widget--benefit-solver .uf-solver__body { background: var(--uf-card); padding: 16px 18px; display: grid; gap: 8px; }
.uf-widget--benefit-solver .uf-solver__answer { margin: 0; font: 400 15px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--benefit-solver .uf-solver__label { margin: 6px 0 0; font: 700 11px var(--uf-mono); text-transform: uppercase; letter-spacing: 1.5px; color: var(--uf-green-2); }
.uf-widget--benefit-solver .uf-solver__steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 5px; }
.uf-widget--benefit-solver .uf-solver__steps li { display: flex; gap: 8px; font: 400 14px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--benefit-solver .uf-solver__num { flex: none; font: 700 13px var(--uf-mono); color: var(--uf-ochre); }
.uf-widget--benefit-solver .uf-solver__who { margin: 0; font: 500 13px var(--uf-sans); color: var(--uf-ink-3); }

/* Civic instruments — program_screener */
.uf-widget--program-screener .uf-screener { display: grid; gap: 14px; }
.uf-widget--program-screener .uf-screener__q { display: grid; gap: 6px; }
.uf-widget--program-screener .uf-screener__qlabel { margin: 0; font: 700 14px var(--uf-sans); color: var(--uf-ink); }
.uf-widget--program-screener .uf-screener__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.uf-widget--program-screener .uf-screener__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 6px 14px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--program-screener .uf-screener__chip:hover { border-color: var(--uf-green); color: var(--uf-ink); }
.uf-widget--program-screener .uf-screener__chip.is-on { background: var(--uf-green); border-color: var(--uf-green); color: #fff; }
.uf-widget--program-screener .uf-screener__result { display: grid; gap: 10px; }
.uf-widget--program-screener .uf-screener__lead { margin: 4px 0 0; font: 700 14px var(--uf-sans); color: var(--uf-green-2); }
.uf-widget--program-screener .uf-screener__prog { background: var(--uf-green-soft); border: 1px solid var(--uf-green-2); border-radius: 12px; padding: 12px 14px; }
.uf-widget--program-screener .uf-screener__name { margin: 0 0 3px; font: 700 14.5px var(--uf-sans); color: var(--uf-ink); }
.uf-widget--program-screener .uf-screener__hint { margin: 0 0 4px; font: 400 13.5px var(--uf-serif); color: var(--uf-ink-2); }
.uf-widget--program-screener .uf-screener__contact { margin: 0; font: 600 12.5px var(--uf-mono); color: var(--uf-green-2); }
.uf-widget--program-screener .uf-screener__none { background: var(--uf-paper-2); border-radius: 12px; padding: 14px 16px; font: 500 14.5px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--program-screener .uf-screener__note { margin: 2px 0 0; font: 400 12px var(--uf-sans); color: var(--uf-ink-3); }

/* Civic instruments — help_directory */
.uf-widget--help-directory .uf-dir { display: grid; gap: 12px; }
.uf-widget--help-directory .uf-dir__filter { width: 100%; box-sizing: border-box; border: 1px solid var(--uf-line); border-radius: 10px; padding: 9px 12px; font: 400 14px var(--uf-sans); background: var(--uf-card); color: var(--uf-ink); }
.uf-widget--help-directory .uf-dir__filter:focus { outline: none; border-color: var(--uf-green); box-shadow: 0 0 0 3px var(--uf-green-soft); }
.uf-widget--help-directory .uf-dir__groups { display: grid; gap: 14px; }
.uf-widget--help-directory .uf-dir__cat { margin: 0 0 6px; font: 700 11px var(--uf-mono); text-transform: uppercase; letter-spacing: 1.5px; color: var(--uf-ink-3); }
.uf-widget--help-directory .uf-dir__entry { padding: 9px 0; border-top: 1px solid var(--uf-line); }
.uf-widget--help-directory .uf-dir__entry:first-of-type { border-top: 0; }
.uf-widget--help-directory .uf-dir__top { display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: space-between; align-items: baseline; }
.uf-widget--help-directory .uf-dir__name { font: 700 14px var(--uf-sans); color: var(--uf-ink); }
.uf-widget--help-directory .uf-dir__contact { font: 600 13px var(--uf-mono); color: var(--uf-green-2); }
.uf-widget--help-directory .uf-dir__note { margin: 3px 0 0; font: 400 13px var(--uf-serif); color: var(--uf-ink-2); }
.uf-widget--help-directory .uf-dir__empty { margin: 0; padding: 12px 14px; background: var(--uf-paper-2); border-radius: 10px; font: 500 13.5px var(--uf-serif); color: var(--uf-ink); }

/* Civic instruments — free_vs_fee_check */
.uf-widget--free-vs-fee-check .uf-ff { display: grid; gap: 10px; }
.uf-widget--free-vs-fee-check .uf-ff__q { margin: 6px 0 0; font: 700 14px var(--uf-sans); color: var(--uf-ink); }
.uf-widget--free-vs-fee-check .uf-ff__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.uf-widget--free-vs-fee-check .uf-ff__chip { border: 1px solid var(--uf-line); background: var(--uf-card); color: var(--uf-ink-2); border-radius: 999px; padding: 6px 13px; font: 600 13px var(--uf-sans); cursor: pointer; }
.uf-widget--free-vs-fee-check .uf-ff__chip:hover { border-color: var(--uf-green); color: var(--uf-ink); }
.uf-widget--free-vs-fee-check .uf-ff__chip.is-on { background: var(--uf-green); border-color: var(--uf-green); color: #fff; }
.uf-widget--free-vs-fee-check .uf-ff__chip--fee.is-on { background: var(--uf-ink); border-color: var(--uf-ink); color: var(--uf-paper-2); }
.uf-widget--free-vs-fee-check .uf-ff__verdict { border-radius: 12px; padding: 12px 14px; font: 500 14.5px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--free-vs-fee-check .uf-ff__verdict.is-free, .uf-widget--free-vs-fee-check .uf-ff__verdict.is-ok { background: var(--uf-green-soft); }
.uf-widget--free-vs-fee-check .uf-ff__verdict.is-bad { background: var(--uf-ochre-soft); }
.uf-widget--free-vs-fee-check .uf-ff__big { margin: 0 0 4px; font: 800 22px var(--uf-sans); color: var(--uf-green-2); letter-spacing: .5px; }
.uf-widget--free-vs-fee-check .uf-ff__note { margin: 6px 0 0; font: 400 12px var(--uf-sans); color: var(--uf-ink-3); }

/* Civic instruments — account_lockdown */
.uf-widget--account-lockdown .uf-lock { display: grid; gap: 12px; }
.uf-widget--account-lockdown .uf-lock__status { margin: 0; display: flex; align-items: center; gap: 8px; font: 500 14px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--account-lockdown .uf-lock__count { font: 700 14px var(--uf-mono); color: #fff; background: var(--uf-green); border-radius: 999px; padding: 2px 10px; }
.uf-widget--account-lockdown .uf-lock__steps { display: grid; gap: 8px; }
.uf-widget--account-lockdown .uf-lock__step { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--uf-line); border-radius: 12px; padding: 11px 13px; cursor: pointer; }
.uf-widget--account-lockdown .uf-lock__step.is-on { border-color: var(--uf-green-2); background: var(--uf-green-soft); }
.uf-widget--account-lockdown .uf-lock__cb { margin-top: 3px; accent-color: var(--uf-green); }
.uf-widget--account-lockdown .uf-lock__txt { font: 400 13.5px var(--uf-serif); color: var(--uf-ink-2); }
.uf-widget--account-lockdown .uf-lock__txt b { display: block; font: 700 14px var(--uf-sans); color: var(--uf-ink); margin-bottom: 2px; }

/* Civic instruments — ebt_skimmer_guard */
.uf-widget--ebt-skimmer-guard .uf-ebt { display: grid; gap: 12px; }
.uf-widget--ebt-skimmer-guard .uf-ebt__grid { display: grid; gap: 16px; }
@media (min-width: 520px) { .uf-widget--ebt-skimmer-guard .uf-ebt__grid { grid-template-columns: 1fr 1fr; } }
.uf-widget--ebt-skimmer-guard .uf-ebt__h { margin: 0 0 6px; font: 700 14px var(--uf-sans); color: var(--uf-ink); }
.uf-widget--ebt-skimmer-guard .uf-ebt__signs { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.uf-widget--ebt-skimmer-guard .uf-ebt__signs li { display: flex; gap: 8px; font: 400 13.5px var(--uf-serif); color: var(--uf-ink-2); }
.uf-widget--ebt-skimmer-guard .uf-ebt__warn { color: var(--uf-clay); flex: none; }
.uf-widget--ebt-skimmer-guard .uf-ebt__sub { margin: 0 0 8px; font: 400 13px var(--uf-serif); color: var(--uf-ink-3); }
.uf-widget--ebt-skimmer-guard .uf-ebt__field { display: flex; flex-direction: column; gap: 4px; font: 600 12px var(--uf-sans); text-transform: uppercase; letter-spacing: .04em; color: var(--uf-ink-3); }
.uf-widget--ebt-skimmer-guard .uf-ebt__day { width: 6ch; border: 1px solid var(--uf-line); border-radius: 8px; padding: 6px 8px; font: 600 16px var(--uf-mono); background: var(--uf-card); color: var(--uf-ink); }
.uf-widget--ebt-skimmer-guard .uf-ebt__ritual { margin: 10px 0 0; padding: 11px 13px; background: var(--uf-green-soft); border-radius: 10px; font: 400 13.5px var(--uf-serif); color: var(--uf-ink); }
.uf-widget--ebt-skimmer-guard .uf-ebt__status { margin: 0; font: 400 12px var(--uf-sans); color: var(--uf-ink-3); }
