/* site.css: reset, type, layout primitives and every shared component.
   Page-scoped rules live in papers.css and stream.css. Hues are read only through --c and the role tokens. */

/* ---- fonts: metric fallbacks so layout does not shift when web fonts arrive or fail ---- */
@font-face { font-family: "Newsreader Fallback"; src: local("Georgia"); size-adjust: 97%; }
@font-face { font-family: "Inter Fallback"; src: local("Arial"); size-adjust: 93%; }

/* ---- reset ---- */
*, ::before, ::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--sticky-h, 72px); }
body { margin: 0; min-height: 100dvh; display: flex; flex-direction: column; background: var(--bg); color: var(--fg); font: 400 var(--fs-body)/var(--lh-body) var(--sans); font-variant-numeric: tabular-nums lining-nums; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, pre { margin: 0; }
ul, ol { padding: 0; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
a { color: var(--fg); text-decoration: underline 1px var(--link-underline); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
[hidden] { display: none !important; }
[aria-disabled="true"], .is-disabled { opacity: .55; }
::selection { background: var(--c-tint); }
mark { background: var(--mark-bg); color: inherit; text-decoration: underline 1px; }
.serif, h1, h2, h3 { font-family: var(--serif); font-weight: 400; font-optical-sizing: auto; }
.mono { font-family: var(--mono); }
.caps { font: 500 var(--fs-caps)/var(--lh-caps) var(--sans); letter-spacing: var(--ls-caps); text-transform: uppercase; }
.measure { max-width: var(--measure); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.clamp-1, .clamp-2, .clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.clamp-1 { -webkit-line-clamp: 1; } .clamp-2 { -webkit-line-clamp: 2; } .clamp-3 { -webkit-line-clamp: 3; }
.muted { color: var(--fg-muted); }
.icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.icon--s { width: 14px; height: 14px; stroke-width: 2; }
.ext .icon, .icon--ext { width: 14px; height: 14px; stroke-width: 2; display: inline-block; vertical-align: -1px; margin-left: 3px; }
.num { font-family: var(--mono); font-variant-numeric: tabular-nums; }

/* ---- layout ---- */
.wrap { max-width: calc(var(--content-max) + 2 * var(--margin)); margin-inline: auto; padding-inline: var(--margin); }
.grid12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
.span-8 { grid-column: span 8; }
main { display: block; flex: 1 0 auto; }

/* ---- skip link ---- */
.skip-link { position: absolute; left: var(--s4); top: -100px; z-index: var(--z-toast); padding: 8px 12px; background: var(--bg); color: var(--fg); border: 2px solid var(--fg); font: 500 var(--fs-ui-s)/var(--lh-ui-s) var(--sans); text-decoration: none; }
.skip-link:focus { top: var(--s2); }

/* ---- masthead ---- */
.masthead { position: sticky; top: 0; z-index: var(--z-masthead); background: var(--bg); border-bottom: var(--hairline); }
.masthead--double { border-bottom: 0; }
.masthead--double::after { content: ""; display: block; height: 5px; border-top: var(--hairline); border-bottom: var(--hairline); }
.masthead__inner { height: 56px; display: flex; align-items: center; justify-content: space-between; gap: var(--s4); }
.masthead__title { text-decoration: none; color: var(--fg); white-space: nowrap; }
.masthead__title .long { display: inline; } .masthead__title .short { display: none; }
.masthead__nav { display: flex; align-items: center; gap: var(--s5); }
.masthead__links { display: flex; align-items: center; gap: var(--s5); list-style: none; }
.masthead__links .only-sheet { display: none; }
.nav__link { font: 400 var(--fs-ui-s)/var(--lh-ui-s) var(--sans); text-decoration: none; color: var(--fg); position: relative; padding: 4px 0; }
.nav__link:hover { text-decoration: underline 1px var(--link-underline); text-underline-offset: 6px; }
.nav__link[aria-current="page"] { text-decoration: underline 2px var(--fg); text-underline-offset: 6px; }
.masthead__sep { width: 1px; height: 16px; background: var(--rule-strong); }
.theme-toggle, .btn--icon, .menu-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--r-chip); color: var(--fg); transition: background var(--t-hover); }
.theme-toggle:hover, .btn--icon:hover, .menu-btn:hover { background: var(--bg-panel); }
.theme-toggle .i-sun { display: none; } [data-theme="dark"] .theme-toggle .i-sun { display: block; } [data-theme="dark"] .theme-toggle .i-moon { display: none; }
.menu-btn { display: none; width: auto; padding: 0 8px; gap: 6px; font: 500 var(--fs-ui-s)/var(--lh-ui-s) var(--sans); }

/* ---- running head, signature bar, count line ---- */
.running-head { font: 500 var(--fs-caps)/var(--lh-caps) var(--sans); letter-spacing: var(--ls-caps); text-transform: uppercase; }
.sigbar { display: flex; height: 6px; gap: 1px; margin: var(--s2) 0 var(--s3); }
.sigbar__seg { flex: 1 1 0; background: var(--c); min-width: 2px; }
.sigbar__seg--empty { background: var(--rule); }
.countline { font: 400 var(--fs-meta)/var(--lh-meta) var(--mono); color: var(--fg-muted); }

/* ---- title block ---- */
.title-block { padding: var(--s4) 0 var(--s5); }
.title-block__title { font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: -0.01em; margin-bottom: var(--s3); }
.dek { font: 400 var(--fs-dek)/var(--lh-dek) var(--serif); max-width: var(--measure-dek); margin-bottom: var(--s4); }
.status { font: 400 var(--fs-meta)/var(--lh-meta) var(--sans); color: var(--fg-muted); }
.status .caps { color: var(--fg); }
.title-block__actions { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s4); }

/* ---- buttons ---- */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--control-border); border-radius: var(--r-chip); background: var(--bg); color: var(--fg); font: 500 var(--fs-ui-s)/var(--lh-ui-s) var(--sans); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background var(--t-hover), border-color var(--t-hover); }
.btn:hover, .btn:active { background: var(--bg-panel); }
.btn[aria-disabled="true"] { cursor: not-allowed; }
.btn[aria-disabled="true"]:hover { background: var(--bg); }
.btn--arrow .icon { width: 16px; height: 16px; }
.btn--ghost { border-color: transparent; }
.btn--sm { padding: 4px 10px; font-size: var(--fs-meta); }
.btn--icon { border: 1px solid var(--control-border); }
/* pressed icon button (density toggles on papers and stream): --fg fill, --bg glyph, also under hover */
.btn--icon[aria-pressed="true"], .btn--icon[aria-pressed="true"]:hover { background: var(--fg); color: var(--bg); border-color: var(--fg); }

/* ---- the Spread ---- */
.spread { display: grid; grid-template-columns: minmax(0, 7fr) 1px minmax(0, 5fr); column-gap: var(--s3); }
.spread__rule { background: var(--rule); }
.spread__foot { margin-top: var(--s4); font: 400 var(--fs-meta)/var(--lh-meta) var(--sans); }

/* ---- contents ---- */
.toc { list-style: none; border-top: var(--hairline); }
.toc__row { position: relative; display: grid; grid-template-columns: var(--colour-rule) 2.75rem minmax(0, 1fr) auto; column-gap: var(--s3); padding: var(--s3) var(--s2) var(--s3) 0; border-bottom: var(--hairline); transition: background var(--t-hover); }
.toc__row:hover { background: var(--bg-panel); }
.toc__rule { grid-row: 1 / -1; width: var(--colour-rule); background: var(--c); }
.toc__num { font: 400 var(--fs-meta)/var(--lh-h3) var(--mono); color: var(--fg-muted); }
.toc__title { font: 400 var(--fs-h3)/var(--lh-h3) var(--serif); }
.toc__title a { text-decoration: none; }
.toc__title a:hover { text-decoration: underline 1px var(--link-underline); text-underline-offset: 4px; }
.toc__count { grid-column: 4; grid-row: 1; font: 400 var(--fs-meta)/var(--lh-h3) var(--mono); color: var(--fg-muted); text-align: right; }
.toc__subs { grid-column: 3 / -1; font: 400 var(--fs-meta)/var(--lh-meta) var(--sans); color: var(--fg-muted); margin-top: 2px; }
.toc__subs a { color: inherit; text-decoration: none; }
.toc__subs a:hover { color: var(--fg); text-decoration: underline 1px var(--link-underline); }
.toc__chevron { display: none; }
.toc__part { list-style: none; }
.toc__part-title { color: var(--fg-muted); padding: var(--s4) 0 var(--s2); }
.toc__part + .toc__part .toc__part-title { padding-top: var(--s5); }
.toc__sections { list-style: none; }
.toc__subs .num { color: var(--fg-muted); }
.toc__subs a:hover .num { color: var(--fg); }

/* ---- marks ---- */
.mark { display: inline-block; flex: none; width: 8px; height: 8px; background: var(--c); border: 1px solid var(--mark-outline); vertical-align: middle; }
.mark--square-hollow { background: transparent; border-color: var(--c-border); }
.mark--circle { border-radius: 50%; }
.mark--dash { width: 3px; height: 14px; }
.mark--dash-l { width: 3px; height: 18px; }
.mark--dot { width: 6px; height: 6px; border-radius: 50%; border: 0; }

/* ---- chips ---- */
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 0 8px; min-height: 22px; border: 1px solid var(--c-border); border-radius: var(--r-chip); background: var(--c-tint); color: var(--fg); font: 500 var(--fs-meta)/var(--lh-meta) var(--sans); text-decoration: none; white-space: nowrap; transition: background var(--t-hover), border-color var(--t-hover); }
a.chip:hover, button.chip:hover { border-color: var(--fg); }
.chip--plain, .chip--req { background: transparent; border-color: var(--control-border); }
.chip--sub { background: transparent; border-color: var(--control-border); border-left: 3px solid var(--c); padding-left: 6px; }
.chip__count { font-family: var(--mono); color: var(--fg-muted); }
.chip.is-on, .chip[aria-pressed="true"] { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.chip.is-on .chip__count, .chip[aria-pressed="true"] .chip__count { color: var(--bg); }
.chip.is-on .mark, .chip[aria-pressed="true"] .mark { border-color: var(--bg); }
.chip--removable .chip__x { display: inline-flex; margin: 0 -4px 0 0; padding: 2px; color: inherit; }
.chip--removable .chip__x .icon { width: 12px; height: 12px; stroke-width: 2.2; }
.chip--filter .icon--sliders { display: none; width: 12px; height: 12px; }
.chip--filter:hover .icon--sliders, .chip--filter:focus-visible .icon--sliders { display: inline-block; }
/* zero-count chips stay clickable; the state is carried by colour and a dashed border, not opacity (label 5.49:1) */
.chip.is-zero { color: var(--fg-muted); border-style: dashed; background: transparent; }
.chip.is-zero .chip__count { color: var(--fg-muted); }
.chip.is-zero .mark { opacity: .55; }

/* ---- badges ---- */
.badge { display: inline-block; padding: 0 6px; border: 1px solid var(--control-border); border-radius: var(--r-chip); font: 500 var(--fs-caps)/var(--lh-caps) var(--sans); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--fg); vertical-align: middle; }
.badge--cited { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.badge--report { background: var(--c-tint); border-color: var(--c-border); }
.badge--new { border: 0; padding: 0; color: var(--fg-muted); }
.score { font: 400 var(--fs-meta)/var(--lh-meta) var(--mono); }
.score--2 { color: var(--fg-muted); }
.new { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--c-good); vertical-align: middle; }

/* ---- ledger (base; expansion rules in stream.css) ---- */
.ledger { list-style: none; }
.ledger--reserve { min-height: 864px; }
.ledger__month { font: italic 400 17px/22px var(--serif); padding: var(--s4) 0 var(--s2); }
.ledger__row { position: relative; display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; column-gap: var(--s4); padding: var(--s4) 0; border-bottom: var(--hairline); content-visibility: auto; contain-intrinsic-size: 0 172px; /* measured mean of a collapsed full row with the 2026-10-17 data */ }
.ledger__date { font: 400 var(--fs-meta)/var(--lh-meta) var(--mono); text-align: right; color: var(--fg-muted); padding-top: 2px; }
.ledger__date .new { display: block; margin: 6px 0 0 auto; }
.ledger__kind { display: flex; align-items: center; gap: 8px; font: 500 var(--fs-caps)/var(--lh-caps) var(--sans); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--fg-muted); margin-bottom: 4px; }
.ledger__dash { width: 3px; height: 18px; background: var(--c); border: 1px solid var(--mark-outline); flex: none; }
.ledger__title { font: 400 var(--fs-row-title)/var(--lh-row-title) var(--serif); }
.ledger__title a { text-decoration: none; }
.ledger__title a:hover { text-decoration: underline 1px var(--link-underline); text-underline-offset: 3px; }
.ledger__summary { font: 400 var(--fs-body)/var(--lh-body) var(--serif); margin-top: 4px; }
.ledger__class { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--s2); }
.ledger__publisher, .ledger__source { font: 400 var(--fs-meta)/var(--lh-meta) var(--sans); color: var(--fg-muted); margin-top: 2px; }
.ledger__more { align-self: start; }
.ledger__more .icon { transition: transform var(--t-toggle) var(--ease); }
.ledger__row.is-expanded .ledger__more .icon { transform: rotate(180deg); }
.ledger__row.is-expanded .ledger__summary { display: block; -webkit-line-clamp: unset; }
/* short rows on the landing */
.ledger__row--short { grid-template-columns: 72px minmax(0, 1fr); column-gap: var(--s3); padding: var(--s2) 0 10px; contain-intrinsic-size: 0 72px; }
.ledger__row--short .ledger__date { font-size: var(--fs-mono-s); }
.ledger__row--short .ledger__dash { height: 14px; }
.ledger__row--short .ledger__title { font-size: 17px; line-height: 22px; }
.ledger__row--short .ledger__title .new { margin-right: 6px; vertical-align: 3px; }

/* ---- drawer base (content layout in papers.css) ---- */
.drawer { position: fixed; inset: 0 0 0 auto; margin: 0; width: 520px; max-width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; padding: 0; background: var(--bg); color: var(--fg); box-shadow: var(--shadow-float); z-index: var(--z-drawer); overflow: auto; }
.drawer[open] { transform: none; transition: transform var(--t-drawer) var(--ease); }
@starting-style { .drawer[open] { transform: translateX(100%); } }
.drawer::backdrop { background: transparent; }
.drawer__band { height: 6px; background: var(--c); position: sticky; top: 0; }
.drawer__body { padding: var(--s4) var(--s5) var(--s6); }
/* the close control rides the top edge at every width: a zero-height sticky strip holds the button, so it stays reachable
   however far the dialog has scrolled and takes no space from the crumb */
.drawer__top { position: sticky; top: 6px; z-index: 2; height: 0; display: flex; justify-content: flex-end; padding: 0 var(--s4); }
.drawer__close { position: relative; top: 8px; background: var(--bg); box-shadow: 0 0 0 3px var(--bg); }
.drawer__crumb { font: 400 var(--fs-meta)/var(--lh-meta) var(--sans); color: var(--fg-muted); margin-bottom: var(--s3); padding-right: 40px; }
.drawer__label { font: 400 var(--fs-drawer)/var(--lh-drawer) var(--serif); margin-bottom: var(--s2); }
.drawer__title { font: 400 var(--fs-row-title)/var(--lh-row-title) var(--serif); margin-bottom: var(--s3); }
.drawer__meta { font: 400 var(--fs-meta)/var(--lh-meta) var(--mono); color: var(--fg-muted); margin: var(--s3) 0; }
.drawer__actions { display: flex; flex-wrap: wrap; gap: var(--s2); margin: var(--s4) 0; }
.drawer__section { margin-top: var(--s5); padding-top: var(--s4); border-top: var(--hairline); }
.drawer__section > h3 { font: 500 var(--fs-caps)/var(--lh-caps) var(--sans); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--fg-muted); margin-bottom: var(--s2); }
.drawer__nav { position: sticky; bottom: 0; background: var(--bg); border-top: var(--hairline); padding: var(--s3) var(--s5); display: flex; justify-content: space-between; align-items: center; gap: var(--s3); font: 400 var(--fs-meta)/var(--lh-meta) var(--mono); }

/* ---- skeleton, empty, error, toast ---- */
.skeleton__row { height: 56px; background: var(--bg-panel); margin-bottom: var(--s2); animation: shimmer 1.2s ease-in-out infinite alternate; }
@keyframes shimmer { to { opacity: .55; } }
.empty, .error { padding: var(--s5) 0; font: italic 400 17px/24px var(--serif); }
.empty__actions, .error__retry { margin-top: var(--s4); display: flex; gap: var(--s2); font-style: normal; }
.toast { position: fixed; left: 50%; bottom: var(--s5); transform: translateX(-50%); z-index: var(--z-toast); background: var(--fg); color: var(--bg); padding: 8px 14px; border-radius: var(--r-chip); font: 500 var(--fs-ui-s)/var(--lh-ui-s) var(--sans); }

/* ---- page head (papers, stream) ---- */
.page-head { padding: var(--s6) 0 var(--s4); }
.page-title { font-size: var(--fs-page); line-height: var(--lh-page); }
.page-title .num { font-size: 20px; color: var(--fg-muted); margin-left: var(--s2); }

/* ---- 404 ---- */
.notfound { padding: var(--s9) 0; max-width: var(--measure); }
.notfound h1 { font-size: var(--fs-page); line-height: var(--lh-page); margin-bottom: var(--s4); }
.notfound__links { display: flex; flex-wrap: wrap; gap: var(--s2); margin: var(--s5) 0; }
.notfound__search { display: flex; gap: var(--s2); max-width: 420px; }
.input { flex: 1; min-width: 0; padding: 7px 10px; border: 1px solid var(--control-border); border-radius: var(--r-input); background: var(--bg); color: var(--fg); font: 400 var(--fs-ui-s)/var(--lh-ui-s) var(--sans); }
.input::placeholder { color: var(--fg-muted); text-overflow: ellipsis; }

/* ---- colophon ---- */
.colophon { border-top: var(--hairline); margin-top: var(--s9); padding: var(--s5) 0 var(--s7); font: 400 var(--fs-meta)/var(--lh-meta) var(--sans); color: var(--fg-muted); }
.colophon__row { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s5); }
.colophon a { color: var(--fg); }

/* ---- responsive ---- */
@media (max-width: 1439px) { :root { --margin: 32px; } .drawer { width: 440px; } }
@media (max-width: 1023px) {
  :root { --margin: 24px; }
  .menu-btn { display: inline-flex; }
  .masthead__links { display: none; }
  .masthead.is-open .masthead__links { display: flex; flex-direction: column; align-items: stretch; gap: 0; position: absolute; top: 100%; left: 0; right: 0; background: var(--bg); border-bottom: var(--hairline-strong); padding: var(--s2) var(--margin) var(--s4); z-index: var(--z-sheet); }
  .masthead.is-open .masthead__links .nav__link { display: block; padding: 10px 0; font-size: var(--fs-ui); border-bottom: var(--hairline); }
  .masthead.is-open .masthead__links .only-sheet { display: block; }
  .masthead.is-open .masthead__links .nav__link[aria-current="page"] { text-decoration: none; font-weight: 500; }
  .masthead__sep { display: none; }
  .span-8 { grid-column: 1 / -1; }
  .spread { grid-template-columns: minmax(0, 1fr); row-gap: var(--s7); }
  .spread__rule { display: none; }
  .ledger--reserve { min-height: 0; }
  .drawer::backdrop { background: rgb(46 46 46 / .4); }
  /* tap targets: 44 px hit areas (DESIGN.md section 9) without changing the type scale. Chips and small buttons grow a
     little and extend their hit area with a pseudo-element; icon buttons become 44 px squares. */
  .chip { min-height: 32px; position: relative; }
  .chip::before { content: ""; position: absolute; inset: -6px 0; }
  .chip__x, .chip .icon--sliders { position: relative; }
  .btn--icon, .ledger__more, .theme-toggle { width: 44px; height: 44px; }
  .menu-btn { height: 44px; }
  .btn--sm { min-height: 36px; position: relative; }
  .btn--sm::before { content: ""; position: absolute; inset: -4px 0; }
  .ledger__class { gap: 10px 8px; }
  .ledger__title a, .spread__foot a, .colophon a { position: relative; }
  .ledger__title a::before, .spread__foot a::before, .colophon a::before { content: ""; position: absolute; inset: -8px 0; }
  .card__ext, .sub-head__stream { position: relative; }
  .card__ext::before, .sub-head__stream::before { content: ""; position: absolute; inset: -13px 0; }
}
@media (max-width: 767px) {
  :root { --margin: 16px; }
  .masthead__title .long { display: none; } .masthead__title .short { display: inline; }
  .masthead__gh { display: none; }
  .toc__chevron { display: inline-flex; grid-column: 5; grid-row: 1; width: 44px; height: 30px; align-items: center; justify-content: center; color: var(--fg-muted); margin-right: -8px; position: relative; }
  .toc__chevron::before { content: ""; position: absolute; inset: -7px 0; }
  .toc__chevron .icon { transition: transform var(--t-toggle); }
  .toc__row.is-open .toc__chevron .icon { transform: rotate(180deg); }
  .toc__row { grid-template-columns: var(--colour-rule) 2.5rem minmax(0, 1fr) auto auto; }
  .toc__subs { display: none; }
  .toc__row.is-open .toc__subs { display: block; }
  .ledger--short .ledger__row--late { display: none; }
  .ledger__row { grid-template-columns: minmax(0, 1fr) auto; }
  .ledger__row .ledger__date { grid-column: 1 / -1; text-align: left; order: -1; }
  .ledger__row .ledger__date .new { display: inline-block; margin: 0 0 0 6px; vertical-align: 1px; }
  .ledger__row--short { grid-template-columns: 56px minmax(0, 1fr); }
  .ledger__row--short .ledger__date { grid-column: auto; text-align: right; order: 0; }
  .drawer { width: 100vw; }
}
@media (prefers-reduced-motion: reduce) {
  .skeleton__row { animation: none; }
  *, ::before, ::after { transition-duration: 0ms !important; }
}
@media print { .masthead, .colophon, .skip-link { display: none; } }
/* Windows High Contrast: keep the colour marks (they carry section, failure source and polarity, each with a text
   label beside it) and draw pressed or checked states with a system-colour outline instead of a background swap. */
@media (forced-colors: active) {
  .mark, .ledger__dash, .sigbar__seg, .toc__rule, .drawer__band, .live__dot, .new, .chronology__bar, .rail__row, .chip--sub, .rail__sub[aria-current="location"]::before { forced-color-adjust: none; }
  .chip.is-on, .chip[aria-pressed="true"], .btn--icon[aria-pressed="true"], .seg__opt input:checked + span, .facet__radio input:checked + span, .badge--cited { outline: 2px solid Highlight; outline-offset: -2px; }
  .chip.is-zero { border-style: dashed; }
}
