/* Placement-specific card roles. Existing palette and site typography inherit. */
html body main.page-main.home .flag-list .flag-item>.instr-card-body,
html body main.page-main .list-row .x-wrap:has(>.instr-card-body)>.instr-card-body{
  margin:14px 0 0;padding:0;border:0;background:none;color:var(--r3-ink,#192126);
  font-family:var(--r3-sans,sans-serif);font-weight:400;min-width:0;overflow-wrap:anywhere;grid-column:1/-1;
}
html body main.page-main .instr-card-body>.ic-label{
  display:flex;align-items:baseline;gap:8px;margin:0 0 8px;padding:0;border:0;
  background:none;font:inherit;font-size:13px;line-height:1.5;font-weight:600;
}
html body main.page-main .instr-card-body[data-card-kind="signal"]>.ic-label{color:var(--is-navy,#183F73)}
html body main.page-main .instr-card-body[data-card-kind="entry"]>.ic-label{color:inherit}
html body main.page-main .instr-card-body .ic-en{letter-spacing:.08em}
html body main.page-main .instr-card-body>.ic-copy{
  display:block;margin:0;padding:0;border:0;background:none;max-height:none;height:auto;
  overflow:visible;-webkit-line-clamp:unset;line-clamp:unset;text-overflow:clip;
  color:var(--r3-ink,#192126);font:inherit;font-weight:400;letter-spacing:normal;
  font-size:16px;line-height:1.8;
}
html body main.page-main.home .flag-list .instr-card-body.is-feature[data-card-kind="signal"]{
  border-top:2px solid var(--is-navy,#183F73);padding-top:12px;
}
html body main.page-main.home .flag-list .instr-card-body.is-feature>.ic-copy{font-size:17px;line-height:1.85}
html body main.page-main .instr-card-body>.ic-link{margin:12px 0 0;padding:0;border:0;background:none;font:inherit;font-size:14px;line-height:1.6}
html body main.page-main .instr-card-body>.ic-link a{color:var(--is-navy,#183F73);text-decoration:underline;text-underline-offset:.2em}
html body main.page-main .instr-card-body>.ic-link a:focus-visible{outline:2px solid var(--is-navy,#183F73);outline-offset:4px}
/* The new wrapper owns the label. Do not let an old signal-ex tag turn an
   introduction into a blue answer box. Scope is opt-in, not every excerpt. */
html body main.page-main .list-row .x-wrap:has(>.instr-card-body){
  background:transparent!important;border:0!important;padding:0!important;margin-top:8px;
}
@media(max-width:767px){
  html body main.page-main.home .flag-list .instr-card-body.is-feature>.ic-copy{font-size:16px;line-height:1.85}
}
@media print{
  html body main.page-main .instr-card-body{break-inside:auto}
  html body main.page-main .instr-card-body>.ic-label{break-after:avoid}
  html body main.page-main .instr-card-body>.ic-copy{display:block;overflow:visible;max-height:none;-webkit-line-clamp:unset}
}

/* Keep the approved SIGNAL role as one pale-blue/navy unit.
   Scope: only new, owned card renderers; entries and YOUR/NEXT stay unchanged. */
html body main.page-main.home .flag-list .flag-item>.instr-card-body[data-card-kind="signal"],
html body main.page-main .list-row .x-wrap:has(>.instr-card-body)>.instr-card-body[data-card-kind="signal"]{
  background:var(--r3-signal-pale,#ebf2fa);
  border-top:2px solid var(--r3-signal,#183f73);
  padding:12px 14px 14px;
}
html body main.page-main.home .flag-list .flag-item>.instr-card-body[data-card-kind="signal"]>.ic-copy,
html body main.page-main .list-row .x-wrap:has(>.instr-card-body)>.instr-card-body[data-card-kind="signal"]>.ic-copy{
  color:var(--r3-signal,#183f73);
}

/* Hide a retained legacy label only when the new owned body actually exists. */
html body main.page-main.home .flag-item:has(>.instr-card-body)>.ex-label,
html body main.page-main .list-row .x-wrap:has(>.instr-card-body)>.ex-label{display:none!important}

/* This one homepage card uses an explicit explanation instead of its legacy news quotation.
   Retain the article NOISE; hide only when the reviewed owned copy rendered. */
html body.home main.page-main .flag.is-original .post-4886 .flag-item:has(>.instr-card-body[data-card-kind="reading-value"])>.flag-noise{display:none!important}
