/* Campaign starter kit bar (assets/campaign.js), shared by Visual Lab and
   OG Image Studio. Uses each page's own tokens where they exist. */
.campaign-bar {
  display: grid;
  gap: 6px;
  margin: 12px 0 0;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.45;
  border: 1px solid var(--rule-strong, var(--line-strong, rgba(255, 238, 220, 0.24)));
  border-radius: 10px;
}
.campaign-bar[hidden] { display: none; }
.campaign-bar p { margin: 0; }
.campaign-bar__head { overflow-wrap: anywhere; }
.campaign-bar__steps { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.campaign-bar__steps li { opacity: 0.75; }
.campaign-bar__steps li.is-done { opacity: 1; }
.campaign-bar__steps span { opacity: 0.7; }
.campaign-bar a { color: var(--spark, var(--accent-a, currentColor)); text-decoration: underline; text-underline-offset: 2px; }
.campaign-bar__end {
  padding: 0;
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  opacity: 0.7;
}
.campaign-bar__end:hover { opacity: 1; }

.campaign-brief { margin: 12px 0; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.campaign-brief summary { cursor: pointer; padding: 10px 0; font-weight: 600; }
.campaign-brief p { margin: 10px 0; white-space: pre-line; }
.campaign-brief textarea { width: 100%; }
