.fn-fp2.fn-compact { width: 460px; border-radius: 12px; }
.fn-fp2.fn-compact .fn-fp2-crumb { padding: 8px 12px 0; }
.fn-fp2.fn-compact .fn-fp2-search { padding: 9px 12px; gap: 9px; }
.fn-fp2.fn-compact .fn-fp2-search > svg { width: 13px; height: 13px; }
.fn-fp2.fn-compact .fn-fp2-search input { font-size: 12.5px; }
.fn-fp2.fn-compact .fn-fp2-kbd { font-size: 10px; padding: 1.5px 6px; border-radius: 5px; }
.fn-fp2.fn-compact .fn-fp2-suggest { padding: 8px 12px; gap: 6px; }
.fn-fp2.fn-compact .fn-fp2-chip { font-size: 11px; padding: 3px 9px; border-radius: 7px; }
.fn-fp2.fn-compact .fn-fp2-body { padding: 6px; }
.fn-fp2.fn-compact .fn-fp2-cols { gap: 3px 10px; }
.fn-fp2.fn-compact .fn-fp2-cell { padding: 2px 0 5px; }
.fn-fp2.fn-compact .fn-fp2-gh { font-size: 9.5px; padding: 6px 8px 4px; }
.fn-fp2.fn-compact .fn-fp2-item { gap: 8px; padding: 5px 8px; border-radius: 8px; font-size: 12px; }
.fn-fp2.fn-compact .fn-fp2-ico { width: 24px; height: 24px; border-radius: 7px; }
.fn-fp2.fn-compact .fn-fp2-ico svg { width: 12px; height: 12px; }
.fn-fp2.fn-compact .fn-fp2-flag { width: 24px; font-size: 15px; }
.fn-fp2.fn-compact .fn-fp2-grp { font-size: 9.5px; }
.fn-fp2.fn-compact .fn-fp2-enter { font-size: 11px; }
.fn-fp2.fn-compact .fn-fp2-empty { padding: 20px; font-size: 12px; }
.fn-fp2.fn-compact .fn-fp2-foot { padding: 7px 12px; gap: 12px; }
.fn-fp2.fn-compact .fn-fp2-nav { font-size: 10.5px; }
.fn-fp2.fn-compact .fn-fp2-nav kbd { font-size: 9.5px; padding: 1px 4.5px; }
.fn-fp2.fn-compact .fn-fp2-foot-note { font-size: 10.5px; }
.fn-fp2.fn-compact .fn-fp2-sugg-item { gap: 8px; padding: 5px 8px; font-size: 12px; }
.fn-fp2.fn-compact .fn-fp2-sugg-val { font-size: 11.5px; }
.fn-fp2.fn-compact .fn-fp2-sugg-cnt { font-size: 10px; }
.fn-fp2.fn-compact .fn-fp2-textrow { padding: 8px; gap: 6px; }
.fn-fp2.fn-compact .fn-fp2-in { padding: 7px 10px; font-size: 12.5px; border-radius: 8px; }
.fn-fp2.fn-compact .fn-fp2-apply { font-size: 12px; padding: 0 13px; border-radius: 8px; }
.fn2-step.fn2-dragging {
  border: 1.5px dashed var(--accent);
  background: var(--accent-tint);
  box-shadow: none;
  cursor: grabbing;
}
.fn2-step.fn2-dragging > * { opacity: 0; }
.fn2-step.fn2-dragging,
.fn2-step.fn2-dragging * { transition: none; }
.fn2-step.fn2-drop {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 4%, var(--surface));
  box-shadow: 0 0 0 1px var(--accent);
}
@media (prefers-reduced-motion: reduce) {
  .fn2-step.fn2-dragging, .fn2-step.fn2-drop { transition: none; }
}
