html.pc-shared {
  --ease: cubic-bezier(0.23, 1, 0.32, 1);
  --muted: #4b5563;
  --faint: #5b6470;
}

html.pc-shared .pc-icon { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }
html.pc-shared .pc-ico { display: inline-flex; align-items: center; margin-right: 6px; vertical-align: -3px; flex: none; }
html.pc-shared .pc-sms-x .pc-ico,
html.pc-shared .pc-sms-ico .pc-ico,
html.pc-shared .rec-row button .pc-ico,
html.pc-shared .trk-row button .pc-ico { margin-right: 0; }
html.pc-shared .pc-card-h .pc-ico { color: var(--accent); }

html.pc-shared .pc-field > span,
html.pc-shared .mc-field > span,
html.pc-shared .pc-hint,
html.pc-shared .mc-note,
html.pc-shared .mc-status,
html.pc-shared .mc-base,
html.pc-shared .mc-mono,
html.pc-shared .mc-stat,
html.pc-shared .mc-copy,
html.pc-shared .mc-step,
html.pc-shared .mc-step-group-t,
html.pc-shared .pc-btn.sm,
html.pc-shared .pc-popover h5,
html.pc-shared #qa-backend-info,
html.pc-shared .pc-pick-cta,
html.pc-shared .pc-pick > span:nth-child(2) > span,
html.pc-shared .mc-variant span span,
html.pc-shared .mc-variant b,
html.pc-shared .rec-row span,
html.pc-shared .rec-row b,
html.pc-shared .pc-log-item > div,
html.pc-shared .pc-log-item pre,
html.pc-shared .pc-pre,
html.pc-shared .pc-sub,
html.pc-shared .ev-row,
html.pc-shared .trk-row code,
html.pc-shared .trk-row .trk-pf,
html.pc-shared .trk-row input,
html.pc-shared .trk-row button,
html.pc-shared #pcash-qa-trk-status,
html.pc-shared .fl-cur,
html.pc-shared .fl-next,
html.pc-shared .fl-back,
html.pc-shared .fl-none,
html.pc-shared .fl-node,
html.pc-shared #mock-flow-caption,
html.pc-shared .pc-switch,
html.pc-shared .pc-switch small,
html.pc-shared .ba-h,
html.pc-shared .pc-empty,
html.pc-shared .mc-check,
html.pc-shared .mc-check small,
html.pc-shared textarea.pc-input,
html.pc-shared #pc-toasts,
html.pc-shared .pc-sms-head span,
html.pc-shared .pc-sms,
html.pc-shared #pcash-dev-bootstrap-desc,
html.pc-shared .ev-off { font-size: 12px; }
html.pc-shared .pc-sms-code { font-size: 18px; }
html.pc-shared .mc-step-group-t { color: var(--muted); }
html.pc-shared .fl-node { opacity: .9; }
html.pc-shared .pc-sms-x { color: #6b7280; font-size: 0; }
html.pc-shared .pc-sms-x .pc-icon { width: 14px; height: 14px; }
html.pc-shared .pc-sms-ico { font-size: 0; }
html.pc-shared .pc-sms-ico .pc-icon { width: 18px; height: 18px; }
html.pc-shared .rec-row button { color: #6b7280; }
html.pc-shared .rec-row button .pc-icon { width: 14px; height: 14px; }
html.pc-shared .pc-toast b { display: inline-flex; align-items: center; }
html.pc-shared .pc-ev-ph, html.pc-shared .ev-row .ev-ph { font-size: 12px; }
html.pc-shared [style*="font-size:11px"],
html.pc-shared [style*="font-size: 11px"],
html.pc-shared [style*="font-size:10px"],
html.pc-shared [style*="font-size: 10px"] { font-size: 12px !important; }
html.pc-shared #mock-controls-status { color: #047857 !important; }
html.pc-shared #mock-controls-status[style*="220, 38, 38"] { color: #b91c1c !important; }
html.pc-shared #pc-logo-dialog [style*="font-size: 11px"],
html.pc-shared #pc-logo-dialog [style*="font-size:11px"],
html.pc-shared #pc-logo-dialog [style*="font-size: 10px"],
html.pc-shared #pc-logo-dialog [style*="font-size:10px"] { font-size: 12px !important; }
html.pc-shared #pc-logo-dialog button .pc-ico, html.pc-shared #pc-logo-dialog a .pc-ico, html.pc-shared #pc-logo-dialog summary .pc-ico, html.pc-shared #pc-logo-dialog label .pc-ico { margin-right: 6px; }
html.pc-shared #pc-logo-dialog [style*="color: #9ca3af"] { color: #5b6470 !important; }
html.pc-shared #pc-logo-dialog [style*="color: #d1d5db"] { color: #6b7280 !important; }
html.pc-shared #pc-logo-dialog #logo-vectorize-btn { background: #b45309 !important; }

html.pc-shared .pc-card > .pc-card-h,
html.pc-shared .mc-section-label { font-size: 12px; font-weight: 700; text-transform: none; letter-spacing: 0; color: #1f2937; align-items: center; }
html.pc-shared .pc-card > .pc-card-h small,
html.pc-shared .mc-section-label small { font-size: 12px; color: var(--muted); }
html.pc-shared .mc-caret { display: inline-flex; font-size: 12px; color: var(--muted); transition: transform 200ms var(--ease); }
html.pc-shared .mc-caret .pc-icon { width: 14px; height: 14px; }
html.pc-shared .mc-section.collapsed .mc-caret { transform: rotate(-90deg); }

html.pc-shared .pc-card > .pc-card-h { flex-wrap: nowrap; align-items: center; gap: 0; padding: 0; transition: border-color 200ms var(--ease); }
html.pc-shared .pc-card-h .pc-spacer { display: none; }
html.pc-shared .pc-card-h > button:not(.pc-card-toggle) { margin-right: 10px; flex: none; }
.pc-card-toggle { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: 14px minmax(0, 1fr); column-gap: 8px; align-items: start; width: 100%; padding: 9px 12px; background: none; border: 0; border-radius: var(--radius) var(--radius) 0 0; font: inherit; font-size: 12px; font-weight: 700; color: #1f2937; text-align: left; cursor: pointer; transition: background-color 120ms ease-out; }
.pc-card-toggle:hover { background: var(--panel-2); }
.pc-app .pc-card-toggle:focus-visible { outline-offset: -2px; }
.pc-card-chev { display: grid; place-items: center; height: 18px; color: var(--muted); }
.pc-card-chev .pc-icon { width: 14px; height: 14px; transition: transform 200ms var(--ease); }
.pc-card.pc-collapsed > .pc-card-h .pc-card-chev .pc-icon { transform: rotate(-90deg); }
.pc-card-t { min-width: 0; line-height: 18px; }
.pc-card-t small { margin-left: 6px; font-weight: 400; }
.pc-card-sum { display: none; grid-column: 2; margin-top: 1px; font-size: 12px; font-weight: 500; line-height: 1.4; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-card.pc-collapsed .pc-card-sum:not(:empty) { display: block; animation: pcErrIn 180ms var(--ease); }
html.pc-shared .pc-card.pc-collapsed > .pc-card-h { border-bottom-color: transparent; }
.pc-card-w { display: grid; grid-template-rows: 1fr; opacity: 1; transition: grid-template-rows 200ms var(--ease), opacity 200ms var(--ease), visibility 0s linear 0s; }
.pc-card-wi { min-height: 0; overflow: hidden; }
.pc-card-wi > .pc-card-b { padding: 12px; }
.pc-card.pc-collapsed > .pc-card-w,
.mc-section.collapsed > .pc-card-w { grid-template-rows: 0fr; opacity: 0; visibility: hidden; transition: grid-template-rows 200ms var(--ease), opacity 200ms var(--ease), visibility 0s linear 200ms; }
html.pc-shared .mc-section-label[role="button"]:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.pc-card-b > .pc-line:first-child { margin-bottom: 10px; }

.pc-pre-bar { gap: 6px; }
.pc-pre-inline { flex-wrap: nowrap; margin-top: 8px; }
.pc-pre-inline .pc-input { flex: 1 1 auto; }
.pc-pre-inline .pc-btn, .pc-pre-act .pc-btn { flex: none; }
.pc-preset-list { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; max-height: 300px; overflow: auto; }
.pc-preset-list .rec-row:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.pc-preset-list .rec-row:hover { border-color: var(--accent-line); }
.pc-preset-list .rec-row.active:hover { border-color: #2563eb; }
.pc-pre-act { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 4px; padding: 8px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 6px; animation: pcErrIn 160ms var(--ease); }
.pc-pre-act .pc-input { flex: 1 1 120px; min-width: 0; }
.pc-pre-q { flex: 1 1 auto; margin: 0; }
.pc-pre-conf { margin-top: 8px; padding: 8px; background: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px; animation: pcErrIn 160ms var(--ease); }
.pc-pre-conf .pc-line { margin: 0 0 8px; color: #78350f; }
.pc-pre-status { margin: 8px 0 0; min-height: 0; font-size: 12px; font-weight: 600; line-height: 1.4; color: var(--muted); }
.pc-pre-status:empty { display: none; }
.pc-pre-status.ok { color: #047857; }
.pc-pre-status.bad { color: #b91c1c; }
.pc-pre-status.warn { color: #92400e; }
.pc-line { margin: 0; font-size: 12px; line-height: 1.45; color: var(--muted); }

html.pc-shared .pc-card > .pc-card-h.pc-card-h-plain { flex-wrap: wrap; align-items: baseline; gap: 2px 8px; padding: 9px 12px; }
.pc-card-h-plain small { font-weight: 400; }
.pc-pre-scope { display: flex; align-items: flex-start; gap: 6px; margin-bottom: 10px; color: #374151; }
.pc-pre-scope .pc-ico { margin: 1px 0 0; color: var(--accent); }
.pc-preset-list .rec-row > div > span { white-space: normal; overflow: visible; text-overflow: clip; }
.pc-preset-list .rec-row > .pc-pre-key { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; background: var(--accent-2); color: var(--accent); overflow: visible; }
.pc-pre-key.partial { background: #fef3c7; color: #92400e; }
.pc-pre-key .pc-icon { width: 14px; height: 14px; }

.pc-imp { margin-top: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); opacity: 0; transform: translateY(-6px); transform-origin: 50% 0; transition: opacity 180ms var(--ease), transform 180ms var(--ease); }
.pc-imp.shown { opacity: 1; transform: none; }
.pc-imp [hidden] { display: none !important; }
.pc-imp-t { margin: 0 0 8px; font-size: 12px; font-weight: 700; color: #1f2937; }
.pc-imp-src { gap: 6px; }
.pc-imp-src .pc-btn[aria-pressed="true"] { background: var(--accent-2); border-color: var(--accent-line); color: #3730a3; }
.pc-imp-paste { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 8px; }
.pc-imp-paste .pc-input { width: 100%; }
.pc-imp-err { margin: 8px 0 0; font-size: 12px; font-weight: 600; line-height: 1.4; color: #b91c1c; }
.pc-imp-prev { margin-top: 10px; }
.pc-imp-prev-t { margin: 0 0 6px; font-size: 12px; font-weight: 600; color: var(--muted); }
.pc-imp-list { display: flex; flex-direction: column; gap: 4px; max-height: 180px; overflow: auto; }
.pc-imp-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 6px 8px; background: #fff; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; font-size: 12px; }
.pc-imp-row:hover { border-color: var(--accent-line); }
.pc-imp-row input { flex: none; margin: 0; accent-color: var(--accent); }
.pc-imp-name { flex: 1 1 96px; min-width: 96px; font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.pc-imp-badge { flex: none; margin-left: 24px; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; }
.pc-imp-badge.new { background: #dcfce7; color: #166534; }
.pc-imp-badge.dup { background: #fef3c7; color: #92400e; }
.pc-imp-acts { margin-top: 10px; gap: 6px; }
.pc-imp-acts .pc-btn:disabled { opacity: .5; cursor: default; }

.pc-explain { margin-top: 10px; padding: 10px 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 8px; }
.pc-explain dl { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.pc-explain dl > div { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 8px; }
.pc-explain dt { font-size: 12px; font-weight: 700; color: #1f2937; }
.pc-explain dd { margin: 0; font-size: 12px; line-height: 1.45; color: #374151; }
.pc-explain .pc-btn { margin-top: 10px; display: inline-flex; align-items: center; }
.pc-explain .pc-btn .pc-ico { color: var(--accent); }

.pc-inline-err { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 12px; font-weight: 600; line-height: 1.3; color: #b91c1c; animation: pcErrIn 180ms var(--ease); }
.pc-inline-err .pc-icon { width: 14px; height: 14px; }
html.pc-shared .pc-input.pc-invalid { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .12); }
@keyframes pcErrIn { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }

html.pc-shared #pc-flowdrawer.pc-fd-in { animation: pc-fd-in 180ms cubic-bezier(0.23, 1, 0.32, 1) both; transform-origin: 50% 0; }
html.pc-shared #pc-flowdrawer.pc-fd-out { animation: pc-fd-out 140ms ease-out both; transform-origin: 50% 0; pointer-events: none; }
@keyframes pc-fd-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes pc-fd-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-6px); } }

html.pc-shared #pc-dm-wrap { display: inline-flex; align-items: center; gap: 6px; position: relative; }
html.pc-shared #pc-dm-wrap .pc-dm-lab { font-size: 12px; font-weight: 500; color: var(--muted); cursor: pointer; user-select: none; }
html.pc-shared #pc-dm-toggle { zoom: .8; }
@keyframes pcPopIn { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }

html.pc-shared .pc-logo-btn,
html.pc-shared .pc-top .pc-logo-btn { display: inline-flex; align-items: center; padding: 5px 9px; font-size: 12px; font-weight: 500; color: var(--muted); border-color: transparent; background: transparent; }
html.pc-shared .pc-logo-btn:hover,
html.pc-shared .pc-top .pc-logo-btn:hover { color: var(--text); background: var(--panel-2); border-color: var(--line); }
html.pc-shared .pc-logo-btn .pc-ico,
html.pc-shared .pc-top .pc-logo-btn .pc-ico { margin-right: 5px; }

html.pc-shared #pc-vp { display: none; }
html.pc-shared #pc-vp-size { font-size: 12px; color: var(--faint); }
.pc-vps { position: relative; display: inline-flex; align-items: center; flex: none; padding: 2px; background: #eef0f4; border-radius: 9px; }
.pc-vps[hidden] { display: none; }
.pc-vps-track { position: relative; z-index: 1; display: flex; align-items: center; gap: 0; }
.pc-vps-pill { position: absolute; top: 0; bottom: 0; left: 0; width: 32px; z-index: 0; background: #fff; border-radius: calc(7px / var(--sx, 1)) / 7px; box-shadow: 0 0 0 1px var(--accent-line), 0 1px 2px rgba(17, 24, 39, .08); transform-origin: 0 0; opacity: 0; pointer-events: none; }
.pc-vps-ready .pc-vps-pill { transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), opacity 120ms ease-out; }
.pc-vps-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 32px; height: 28px; padding: 0 8px; background: none; border: 0; border-radius: 7px; color: #4b5563; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; transition: color 120ms ease-out, background-color 120ms ease-out; }
.pc-vps-btn:hover { color: var(--text); }
.pc-vps-btn[aria-pressed="true"] { color: #3730a3; }
.pc-vps-btn:active { transform: scale(.96); }
.pc-vps-btn:focus-visible, .pc-vps-item:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.pc-vps-b { font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.pc-vps-btn::after { content: attr(data-tip); position: absolute; top: calc(100% + 8px); left: 50%; z-index: 20; padding: 6px 9px; border-radius: 7px; background: #111827; color: #fff; font-size: 12px; font-weight: 500; line-height: 1.2; white-space: nowrap; pointer-events: none; opacity: 0; transform: translate(-50%, -4px); transform-origin: 50% 0; transition: opacity 120ms ease-out, transform 120ms var(--ease); }
.pc-vps-btn:hover::after { opacity: 1; transform: translate(-50%, 0); transition-delay: 350ms; }
.pc-vps-btn:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.pc-vps-pop { position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; min-width: 190px; padding: 4px; background: #fff; border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 12px 32px rgba(17, 24, 39, .18); transform-origin: 100% 0; animation: pcPopIn 140ms var(--ease); }
.pc-vps-pop[hidden] { display: none; }
.pc-vps-item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 9px; background: none; border: 0; border-radius: 6px; color: #374151; font: inherit; font-size: 12px; font-weight: 500; text-align: left; cursor: pointer; transition: background-color 120ms ease-out; }
.pc-vps-item:hover { background: var(--panel-2); }
.pc-vps-item[aria-checked="true"] { color: #3730a3; background: var(--accent-2); }

@media (prefers-reduced-motion: reduce) {
  html.pc-shared .mc-caret,
  .pc-card-w, .pc-card-chev .pc-icon, .pc-card-toggle, html.pc-shared .pc-card > .pc-card-h,
  .pc-vps-ready .pc-vps-pill, .pc-vps-btn, .pc-vps-btn::after, .pc-imp { transition: none !important; }
  .pc-copy-fb, .pc-pre-act, .pc-pre-conf, .pc-card-sum, .pc-inline-err, .pc-vps-pop,
  html.pc-shared #pc-flowdrawer.pc-fd-in, html.pc-shared #pc-flowdrawer.pc-fd-out { animation: none !important; }
}

html.pc-shared .pc-card-h > .pc-copy-all { display: inline-flex; align-items: center; gap: 6px; margin-right: 10px; }
.pc-copy-all .pc-ico { margin: 0; vertical-align: 0; }
.pc-copy-all:disabled { opacity: .5; cursor: default; }
.pc-copy-fb { margin-top: 8px; padding: 8px; background: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px; animation: pcErrIn 160ms var(--ease); }
.pc-copy-fb .pc-line { margin: 0 0 6px; color: #78350f; }
.pc-copy-fb .pc-input { width: 100%; margin-bottom: 6px; }
