.promotion-copy-heading,.promotion-copy-toolbar,.promotion-copy-item-head,.promotion-copy-item-head>div,.promotion-copy-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.promotion-copy-heading { margin-bottom:24px; }
.promotion-copy-heading h1 { margin:0; color:var(--ink); font-size:28px; }
.promotion-copy-heading h2,.promotion-copy-editor h2 { margin:0; color:var(--ink); font-size:20px; }
.promotion-copy-heading p { margin:6px 0 0; color:var(--muted); }
.promotion-copy-library { margin-top:24px; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:16px; }
.promotion-copy-toolbar { margin-bottom:20px; }
.promotion-copy-toolbar>div { display:flex; gap:12px; flex-wrap:wrap; }
.promotion-copy-toolbar label { display:flex; align-items:center; gap:8px; }
.promotion-copy-library input[type=checkbox] { width:18px; height:18px; accent-color:var(--brand); flex:none; }
.promotion-copy-item { padding:24px 0; border-top:1px solid var(--line); }
.promotion-copy-item:last-child { padding-bottom:0; }
.promotion-copy-item-head { align-items:flex-start; margin-bottom:12px; }
.promotion-copy-item-head>div { justify-content:flex-start; gap:10px; }
.promotion-copy-item h2,.promotion-copy-item h3 { margin:0; color:var(--ink); font-size:17px; overflow-wrap:anywhere; }
.promotion-copy-item small,.promotion-copy-note { color:var(--muted); font-size:13px; }
.promotion-copy-body { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.85; max-width:75ch; max-height:420px; overflow:auto; padding:12px 0; font-size:15px; }
.promotion-copy-body::selection,.promotion-copy-editor textarea::selection { background:var(--brand-soft); color:var(--ink); }
.promotion-copy-item summary { cursor:pointer; color:var(--brand-strong); padding:8px 0; }
.promotion-copy-actions { justify-content:flex-start; margin-top:16px; gap:10px; }
.promotion-copy-state { padding:2px 9px; border-radius:6px; font-size:12px; color:var(--muted); background:var(--canvas); }
.promotion-copy-state.is-published { color:var(--brand-strong); background:var(--brand-soft); }
.promotion-copy-empty { padding:40px 12px; text-align:center; color:var(--muted); }
.promotion-copy-empty h2 { color:var(--ink); font-size:18px; }
.promotion-copy-editor { background:var(--surface); padding:24px; border:1px solid var(--line); border-radius:16px; scroll-margin-top:85px; }
.promotion-copy-editor label { display:block; margin:20px 0 8px; color:var(--ink); font-weight:600; }
.promotion-copy-editor input,.promotion-copy-editor textarea { display:block; width:100%; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); caret-color:var(--brand); }
.promotion-copy-editor textarea { resize:vertical; min-height:160px; }
.promotion-copy-editor [role=alert] { color:var(--danger); }
.promotion-copy-editor button:disabled,.promotion-copy-library button:disabled { opacity:.55; cursor:not-allowed; }
@media(max-width:600px) {
  .promotion-copy-library,.promotion-copy-editor { padding:18px; border-radius:12px; }
  .promotion-copy-heading { align-items:flex-start; gap:12px; }
  .promotion-copy-heading h1 { font-size:24px; }
  .promotion-copy-item-head { gap:6px; }
  .promotion-copy-item-head small { width:100%; }
  .promotion-copy-actions .button,.promotion-copy-toolbar .button { min-height:44px; }
  .promotion-copy-actions { align-items:stretch; }
}
