/*
 * Curator Work Report v1 — drawer + L2 task detail panel
 * Verbatim transcription from design source curator-dashboard.html lines 12-687.
 * CSS variables (--paper, --ink, --seal-red, --rule, --font-serif, --tone-positive, etc.)
 * 는 gazette.css 에서 정의됨 — 이 파일에서는 재정의하지 않는다.
 * Refs: docs/superpowers/specs/2026-05-06-curator-work-report-design.md §5.2 §7
 */

/* ─── DRAWER (업무 보고서) ─── */
.dr-backdrop {
  position: fixed; inset: 0;
  background: rgba(20, 14, 8, 0.45);
  backdrop-filter: blur(2px);
  z-index: 90;
  opacity: 0; visibility: hidden;
  transition: opacity 200ms ease, visibility 0s 200ms;
}
.dr-backdrop.open { opacity: 1; visibility: visible; transition: opacity 200ms ease; }

.dr-panel {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(920px, 94vw);
  background: var(--paper);
  border-left: 1px solid var(--paper-edge);
  box-shadow: -24px 0 60px -20px rgba(40, 30, 10, 0.4);
  z-index: 91;
  transform: translateX(100%);
  transition: transform 280ms cubic-bezier(.2,.7,.2,1);
  display: flex; flex-direction: column;
  font-family: var(--font-sans);
  overflow: hidden;
}
.dr-panel.open { transform: translateX(0); }

/* report-style header */
.dr-report-head {
  padding: 22px 32px 18px;
  border-bottom: 3px double var(--ink);
  background: var(--paper-soft);
  flex-shrink: 0;
  position: relative;
}
.dr-report-stamp {
  position: absolute;
  top: 16px; right: 28px;
  border: 1.5px solid var(--seal-red);
  color: var(--seal-red);
  font-family: var(--font-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  padding: 4px 10px;
  transform: rotate(-3deg);
  background: rgba(184, 48, 42, 0.04);
}
.dr-x {
  position: absolute;
  top: 18px; left: 22px;
  width: 30px; height: 30px;
  border: 1px solid var(--rule);
  background: var(--paper);
  border-radius: 3px;
  cursor: pointer;
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1;
}
.dr-x:hover { background: var(--paper-soft); border-color: var(--ink-soft); }

.dr-doctype {
  text-align: center;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.32em;
  color: var(--ink-mute);
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 6px;
}
.dr-doctitle {
  text-align: center;
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--ink);
  margin: 0 0 4px;
}
.dr-doctitle small {
  font-size: 13px; font-weight: 500; letter-spacing: 0.02em;
  color: var(--ink-soft);
  margin-left: 8px;
  font-family: var(--font-sans);
}
.dr-docmeta {
  display: flex; justify-content: center; gap: 18px;
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-mute);
  margin-top: 8px;
  letter-spacing: 0.04em;
}
.dr-docmeta b { color: var(--ink-soft); font-weight: 600; }
.dr-docmeta-rule { color: var(--ink-faint); }

/* summary strip — at-a-glance numerals */
.dr-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--rule);
  margin-top: 12px;
  padding-top: 10px;
}
.dr-summary-cell {
  text-align: center;
  border-right: 1px dashed var(--rule);
  padding: 0 6px;
}
.dr-summary-cell:last-child { border-right: 0; }
.dr-summary-num {
  font-family: var(--font-serif);
  font-size: 22px; font-weight: 700;
  line-height: 1;
  font-feature-settings: "tnum";
  color: var(--ink);
}
.dr-summary-num.ok { color: var(--tone-positive); }
.dr-summary-num.run { color: var(--seal-red); }
.dr-summary-num.up { color: var(--ink-soft); }
.dr-summary-num.fail { color: var(--tone-negative); }
.dr-summary-lbl {
  font-size: 9.5px;
  color: var(--ink-mute);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 4px;
}

/* body */
.dr-body {
  flex: 1;
  overflow-y: auto;
  padding: 0 32px 60px;
}
.dr-body::-webkit-scrollbar { width: 8px; }
.dr-body::-webkit-scrollbar-thumb { background: var(--rule); border-radius: 4px; }

/* report sections */
.rep-section {
  margin: 28px 0 0;
  page-break-inside: avoid;
}
.rep-sec-head {
  display: flex; align-items: baseline; gap: 14px;
  border-bottom: 2.5px solid var(--ink);
  padding-bottom: 6px;
  margin-bottom: 4px;
  position: relative;
}
.rep-sec-head::after {
  content: "";
  position: absolute;
  bottom: -5px; left: 0; right: 0;
  height: 1px;
  background: var(--ink);
}
.rep-sec-num {
  font-family: var(--font-serif);
  font-size: 14px; font-weight: 800;
  color: var(--seal-red);
  letter-spacing: 0.06em;
}
.rep-sec-title {
  font-family: var(--font-serif);
  font-size: 19px; font-weight: 800;
  margin: 0;
  color: var(--ink);
  letter-spacing: 0.06em;
}
.rep-sec-meta {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: 0.04em;
  margin-left: auto;
}
.rep-sec-lede {
  font-family: var(--font-serif);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.7;
  margin: 12px 0 16px;
  text-wrap: pretty;
  border-left: 2px solid var(--rule);
  padding-left: 12px;
}

/* task list — newspaper-style entry */
.tasks { list-style: none; margin: 0; padding: 0; }
.task {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px dashed var(--rule);
  cursor: pointer;
  transition: background 120ms ease;
  position: relative;
}
.task:last-child { border-bottom: 0; }
.task:hover { background: var(--paper-soft); }
.task:hover .task-cta { color: var(--seal-red); }
.task::before {
  content: "";
  position: absolute;
  left: -10px; top: 22px;
  width: 4px; height: 4px;
  background: var(--ink-faint);
  border-radius: 50%;
}

.task-time {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-soft);
  font-feature-settings: "tnum";
  letter-spacing: 0.02em;
  padding-top: 2px;
}
.task-time-end {
  font-size: 10.5px;
  color: var(--ink-faint);
  margin-top: 2px;
}
.task-time-elapsed {
  font-size: 10.5px;
  color: var(--seal-red);
  margin-top: 2px;
  font-weight: 600;
}

.task-body { min-width: 0; }
.task-line1 {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.task-name {
  font-family: var(--font-serif);
  font-size: 15.5px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.01em;
  line-height: 1.35;
}
.task-status {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 2px;
  font-family: var(--font-sans);
  flex-shrink: 0;
}
.task-status.done { background: var(--tone-positive-bg); color: var(--tone-positive); }
.task-status.run  { background: var(--seal-red); color: white; }
.task-status.fail { background: var(--tone-negative); color: white; }
.task-status.warn { background: var(--tone-urgent-bg); color: var(--tone-urgent-fg); }
.task-status.queued { background: var(--paper-soft); color: var(--ink-mute); border: 1px solid var(--rule); }

.task-detail {
  font-family: var(--font-serif);
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0 0 8px;
  text-wrap: pretty;
}
.task-meta {
  display: flex; flex-wrap: wrap; gap: 14px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-mute);
  letter-spacing: 0.02em;
  font-feature-settings: "tnum";
}
.task-meta b { color: var(--ink-soft); font-weight: 600; }
.task-meta .ok { color: var(--tone-positive); font-weight: 600; }
.task-meta .fail { color: var(--tone-negative); font-weight: 600; }

.task-cta {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  margin-top: 8px;
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: color 120ms;
}
.task-cta-arrow { display: inline-block; transition: transform 120ms; }
.task:hover .task-cta-arrow { transform: translateX(3px); }

/* progress mini (in-running task) */
.task-mini-progress {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
  margin: 6px 0 0;
  max-width: 240px;
}
.tmpc {
  height: 4px; border-radius: 2px;
  background: var(--rule-soft);
}
.tmpc.done { background: var(--tone-positive); }
.tmpc.run { background: var(--seal-red); position: relative; overflow: hidden; }
.tmpc.run::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  animation: shimmer 1.4s linear infinite;
}
@keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
.tmpc.fail { background: var(--tone-negative); }

/* outcome chips on done tasks */
.task-outcome {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 10.5px;
  font-family: var(--font-sans);
  padding: 2px 7px;
  border-radius: 2px;
  margin-right: 6px;
  margin-top: 4px;
}
.task-outcome.ok { background: var(--tone-positive-bg); color: var(--tone-positive); }
.task-outcome.warn { background: var(--tone-urgent-bg); color: var(--tone-urgent-fg); }
.task-outcome.fail { background: var(--tone-negative-bg); color: var(--tone-negative); }
.task-outcome b { font-weight: 700; font-feature-settings: "tnum"; }

/* upcoming (queued) tasks — lighter */
.task.is-queued { opacity: 0.78; }
.task.is-queued .task-name { color: var(--ink-soft); font-weight: 600; }
.task.is-queued::before { background: var(--rule); }

/* ─── 2nd-level: Task Detail panel ─── */
.td-panel {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 92%;
  background: var(--paper);
  box-shadow: -16px 0 40px -16px rgba(40, 30, 10, 0.3);
  transform: translateX(100%);
  transition: transform 260ms cubic-bezier(.2,.7,.2,1);
  overflow-y: auto;
  z-index: 2;
}
.td-panel.open { transform: translateX(0); }
.td-head {
  padding: 16px 28px 14px;
  border-bottom: 1.5px solid var(--ink);
  background: var(--paper-soft);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  position: sticky; top: 0;
  z-index: 3;
}
.td-back {
  width: 30px; height: 30px;
  border: 1px solid var(--rule);
  background: var(--paper);
  cursor: pointer;
  border-radius: 3px;
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1;
}
.td-back:hover { background: var(--paper-soft); border-color: var(--ink-soft); }
.td-id { min-width: 0; }
.td-kicker {
  font-size: 9.5px; color: var(--ink-mute);
  letter-spacing: 0.18em; text-transform: uppercase;
  font-weight: 600;
}
.td-title {
  font-family: var(--font-serif);
  font-size: 18px; font-weight: 800;
  color: var(--ink);
  margin: 2px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.td-status {
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  padding: 5px 10px; border-radius: 2px;
  font-family: var(--font-sans);
}
.td-status.done { background: var(--tone-positive); color: white; }
.td-status.run  { background: var(--seal-red); color: white; }
.td-status.fail { background: var(--tone-negative); color: white; }
.td-status.queued { background: var(--paper); color: var(--ink-soft); border: 1px solid var(--rule); }

.td-body { padding: 22px 28px 60px; }

.td-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--ink);
  background: var(--paper-soft);
  margin-bottom: 24px;
}
.td-meta-cell {
  padding: 10px 14px;
  border-right: 1px solid var(--rule);
}
.td-meta-cell:last-child { border-right: 0; }
.td-meta-lbl {
  font-size: 9.5px; color: var(--ink-mute);
  letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 600;
}
.td-meta-val {
  font-family: var(--font-serif);
  font-size: 16px; font-weight: 700;
  margin-top: 4px;
  color: var(--ink);
  font-feature-settings: "tnum";
}
.td-meta-val.fail { color: var(--tone-negative); }
.td-meta-val.ok { color: var(--tone-positive); }
.td-meta-sub {
  font-size: 10px; color: var(--ink-mute);
  margin-top: 1px;
  font-family: var(--font-mono);
}

/* steps */
.td-section { margin-bottom: 26px; }
.td-sec-head {
  display: flex; align-items: baseline; gap: 12px;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 5px;
  margin-bottom: 12px;
}
.td-sec-title {
  font-family: var(--font-serif);
  font-size: 14px; font-weight: 700;
  margin: 0;
  color: var(--ink);
  letter-spacing: 0.08em;
}
.td-sec-meta {
  font-size: 10.5px; color: var(--ink-mute);
  margin-left: auto;
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}

.stp-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.stp {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid var(--rule);
  background: var(--paper-soft);
  border-radius: 3px;
}
.stp.is-running { border-color: var(--seal-red); background: var(--paper); box-shadow: 0 0 0 1px rgba(184,48,42,0.12); }
.stp.is-done { background: var(--tone-positive-bg); border-color: rgba(45,106,79,0.3); }
.stp.is-failed { background: var(--tone-negative-bg); border-color: rgba(154,42,37,0.3); }
.stp.is-pending { opacity: 0.55; }
.stp-num {
  width: 20px; height: 20px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--font-mono);
  font-size: 10.5px; font-weight: 700;
  background: var(--paper);
  color: var(--ink-mute);
  border: 1px solid var(--rule);
}
.stp.is-done .stp-num { background: var(--tone-positive); color: white; border-color: var(--tone-positive); }
.stp.is-running .stp-num { background: var(--seal-red); color: white; border-color: var(--seal-red); }
.stp.is-failed .stp-num { background: var(--tone-negative); color: white; border-color: var(--tone-negative); }
.stp-name {
  font-size: 12.5px; font-weight: 600; color: var(--ink);
  font-family: var(--font-serif);
}
.stp-detail {
  font-size: 10.5px; color: var(--ink-mute);
  margin-top: 1px;
  font-family: var(--font-mono);
  letter-spacing: 0.01em;
}
.stp-status {
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  padding: 2px 7px; border-radius: 2px;
  font-family: var(--font-sans);
}
.stp.is-running .stp-status { background: var(--seal-red); color: white; }
.stp.is-done .stp-status { color: var(--tone-positive); background: rgba(45,106,79,0.12); }
.stp.is-failed .stp-status { color: white; background: var(--tone-negative); }
.stp.is-pending .stp-status { color: var(--ink-faint); background: var(--paper-soft); }

/* outcome callouts in td */
.td-callout {
  display: flex; gap: 10px;
  padding: 12px 14px;
  border-left: 3px solid var(--seal-red);
  background: var(--paper-soft);
  margin-bottom: 16px;
  font-family: var(--font-serif);
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink);
}
.td-callout.fail { border-left-color: var(--tone-negative); background: var(--tone-negative-bg); color: var(--ink); }
.td-callout.ok { border-left-color: var(--tone-positive); background: var(--tone-positive-bg); }
.td-callout-icon { font-size: 16px; line-height: 1.3; flex-shrink: 0; color: var(--seal-red); font-weight: 700; }
.td-callout.fail .td-callout-icon { color: var(--tone-negative); }
.td-callout.ok .td-callout-icon { color: var(--tone-positive); }

/* artifacts (LLM call, output items) */
.art-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.art {
  border: 1px solid var(--rule);
  background: var(--paper);
  padding: 10px 12px;
  border-radius: 3px;
  font-family: var(--font-sans);
}
.art-head {
  display: flex; align-items: center; gap: 8px;
  font-size: 10.5px;
  margin-bottom: 4px;
}
.art-tag {
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  padding: 1.5px 6px; border-radius: 2px;
  font-family: var(--font-sans);
}
.art-tag.llm { background: rgba(40, 72, 120, 0.12); color: var(--seal-blue); }
.art-tag.api { background: var(--paper-soft); color: var(--ink-soft); border: 1px solid var(--rule); }
.art-tag.out { background: var(--tone-positive-bg); color: var(--tone-positive); }
.art-time {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-mute);
  margin-left: auto;
  font-feature-settings: "tnum";
}
.art-name {
  font-family: var(--font-serif);
  font-size: 13px; font-weight: 700;
  color: var(--ink);
  margin-bottom: 2px;
}
.art-meta {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-mute);
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.art-meta code {
  background: var(--paper-soft);
  padding: 0.5px 4px;
  border-radius: 2px;
  border: 1px solid var(--rule-soft);
  font-size: 10px;
}

/* output items table */
.out-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  font-family: var(--font-sans);
}
.out-table th, .out-table td {
  padding: 7px 10px;
  border-bottom: 1px solid var(--rule-soft);
  text-align: left;
}
.out-table th {
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-mute);
  border-bottom: 1px solid var(--ink);
  background: var(--paper-soft);
}
.out-table td.num {
  font-family: var(--font-mono);
  font-feature-settings: "tnum";
  text-align: right;
  font-size: 11.5px;
}
.out-table tr:hover { background: var(--paper-soft); }
.out-class {
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  padding: 1.5px 6px; border-radius: 2px;
  font-family: var(--font-sans);
  display: inline-block;
}
.out-class.auto-draft { background: var(--tone-positive-bg); color: var(--tone-positive); }
.out-class.auto-reject { background: var(--paper-soft); color: var(--ink-mute); border: 1px solid var(--rule); }
.out-class.human-queue { background: var(--tone-urgent-bg); color: var(--tone-urgent-fg); }
.out-class.failed { background: var(--tone-negative-bg); color: var(--tone-negative); }

/* drawer footer */
.dr-foot {
  padding: 14px 32px;
  border-top: 1px solid var(--rule);
  background: var(--paper-soft);
  display: flex; gap: 18px; flex-wrap: wrap;
  flex-shrink: 0;
  font-size: 11.5px;
}
.dr-foot a {
  color: var(--ink-soft); text-decoration: none;
  font-weight: 500;
  font-family: var(--font-sans);
}
.dr-foot a:hover { color: var(--seal-red); text-decoration: underline; }

body.drawer-open { overflow: hidden; }

/* tweaks */
.tweaks-panel {
  position: fixed; bottom: 56px; right: 18px;
  background: var(--paper);
  border: 1px solid var(--ink-soft);
  box-shadow: 0 8px 24px -8px rgba(40,30,10,0.3);
  padding: 12px 14px;
  z-index: 50;
  font-family: var(--font-sans);
  font-size: 12px;
  width: 240px;
}
.tweaks-panel h4 {
  margin: 0 0 8px; font-family: var(--font-serif);
  font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  border-bottom: 1px solid var(--rule); padding-bottom: 4px;
}
.tweaks-panel label {
  display: flex; align-items: center; gap: 8px;
  padding: 4px 0; cursor: pointer;
}
.tweaks-panel input[type=radio] { accent-color: var(--seal-red); }
.tweaks-panel .tw-section { margin-bottom: 8px; }
.tweaks-panel .tw-lbl-sm { font-size: 10px; color: var(--ink-mute); letter-spacing: 0.08em; text-transform: uppercase; }

/* card hover hint */
.dept-card[data-dept="curator"] {
  cursor: pointer;
}
.dept-card[data-dept="curator"]::after {
  content: "업무 보고서 →";
  position: absolute;
  bottom: 8px; right: 14px;
  font-size: 9.5px;
  color: var(--ink-faint);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: var(--font-sans);
  opacity: 0;
  transition: opacity 160ms;
}
.dept-card[data-dept="curator"]:hover::after {
  opacity: 1;
  color: var(--seal-red);
}

/* ─── Legacy Admin Page Migration Wave 1 (Spec 2026-05-17 §4.1.2) ───
   큐레이터 파이프라인 7-step drill-down — drawer 신규 section 貳.
   한지 톤만 사용 (먹 #1f2937 + 인주 #9f1239 + 회색 #9ca3af).
   기존 _StepCards.cshtml 의 slate green/rose 컬러 박스 → 먹/인주 라인 only. */
.curator-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.curator-steps .curator-step {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px solid #e5e5e5;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
}
.curator-steps .curator-step:last-child { border-bottom: 0; }
.curator-steps .curator-step-num {
  flex: 0 0 auto;
  width: 56px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: 0.04em;
}
.curator-steps .curator-step-name {
  flex: 0 0 auto;
  width: 180px;
  font-weight: 600;
  color: var(--ink);
}
.curator-steps .curator-step-meta {
  flex: 1 1 auto;
  font-size: 11px;
  color: var(--ink-soft);
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.curator-steps .curator-step-elapsed {
  font-variant-numeric: tabular-nums;
  color: var(--ink-soft);
}
.curator-steps .curator-step-running {
  color: #9f1239; /* 인주 */
  font-style: italic;
}
.curator-steps .curator-step-idle {
  color: #9ca3af;
  font-style: italic;
}
.curator-steps .curator-step-metrics {
  color: var(--ink-mute);
  font-family: var(--font-mono);
  font-size: 10px;
  word-break: break-all;
}

/* 상태별 행 강조 — 한지 톤 only. */
.curator-steps .step-done .curator-step-name { color: #1f2937; }
.curator-steps .step-run .curator-step-name {
  color: #9f1239; /* 인주 */
  animation: curator-step-pulse 1s ease-in-out infinite;
}
.curator-steps .step-fail .curator-step-name {
  color: #9f1239;
  font-weight: 700;
}
.curator-steps .step-pending .curator-step-name { color: #9ca3af; }
@keyframes curator-step-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.55; }
}
