- size:WxH and size:WxH@R resolution for config names
- auto-detection of external monitors when external list is empty (any non-internal display)
- ensureCleanLayout: explicitly disable connected monitors not in target layout
- update docs (README, example.yaml) for all three features
- Add BackendConfig map[string]any to Config struct
- Deprecate top-level output_path (backward compatible via EffectiveBackendConfig())
- NewHyprland now accepts opts map[string]any instead of raw outputPath
- Factory signature unified to func(*slog.Logger, map[string]any) for all backends
- Update README with backend_config docs and fix Sway skeleton signature
- Update example.yaml to show backend_config instead of output_path