.p-sim { font-size: var(--t-s); font-weight: 700; color: var(--beta); }
.p-flow { display: grid; grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr) 28px minmax(0, 1fr); gap: 8px; align-items: stretch; }
.p-arrow { display: flex; align-items: center; justify-content: center; color: var(--ink-2); font-size: var(--t-l); font-weight: 800; }
.p-stage { display: grid; gap: 8px; align-content: start; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.p-stage-n { color: var(--ink-2); font-size: var(--t-s); font-weight: 700; }
.p-check { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: .9375rem; }
.p-check input { width: 22px; height: 22px; accent-color: var(--ink); flex: none; }
.p-st-wait { color: var(--ink-2); }
.p-st-run { color: var(--beta); font-weight: 700; }
.p-st-ok { color: var(--ok); font-weight: 700; }
.p-st-fail { color: var(--err); font-weight: 700; }
.p-log { padding: 12px; border-radius: 10px; background: var(--ink); color: var(--on-ink); font-size: .875rem; line-height: 1.6; }
.p-log p { overflow-wrap: anywhere; }
.p-log .p-bad { font-weight: 800; }
.p-alert { padding: 12px 14px; border: 1px solid var(--err); border-radius: 10px; color: var(--err); font-size: .9375rem; font-weight: 650; }
.p-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 1100px) { .p-top { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .p-flow { grid-template-columns: minmax(0, 1fr); }
  .p-arrow { transform: rotate(90deg); height: 24px; }
}
.p-detail { display: block; font-weight: 400; white-space: normal; min-width: 110px; }
