hl.config({
  general = {
    gaps_in = 5,
    gaps_out = { top = 5, left = 5, right = 5, bottom = 5 },
    border_size = 2,
    layout = "master",
    allow_tearing = false
  },
  render = {
    new_render_scheduling = false  -- old scheduler: testing IntelliJ (native Wayland/WLToolkit) repaint-until-input freeze
  },
  cursor = {
    hide_on_key_press = true,
    persistent_warps = true,
    warp_on_change_workspace = true,
    enable_hyprcursor = true,
    sync_gsettings_theme = true,
    no_hardware_cursors = 1  -- software cursors: HW cursors corrupt on the rotated/vertical monitor (no per-monitor override exists)
  },
  decoration = {
    rounding = 5,
    active_opacity = 1.0,
    inactive_opacity = 1.0,
    dim_modal = true,
    dim_inactive = true,
    dim_strength = 0.1,
    blur = {
      enabled = true,
      size = 3,
      passes = 1,
      vibrancy = 0.1696,
      popups = true -- NEW: Blur for menus and tooltips
    },
    shadow = {
      enabled = false,
      range = 4,
      render_power = 3,
      -- color integrated via theme
    },
    glow = { -- NEW in v0.55
      enabled = true,
      range = 10,
      -- color integrated via theme
    }
  },
  misc = {
    force_default_wallpaper = -1,
    disable_hyprland_logo = false,
    vrr = 2,
    mouse_move_enables_dpms = true,
    key_press_enables_dpms = true,
    layers_hog_keyboard_focus = true,
    mouse_move_focuses_monitor = true
  },
  ecosystem = {
    enforce_permissions = true -- NEW: Enable Android-style permissions
  }
})

-- Curves
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1.0} } })
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
hl.curve("bouncy", { type = "spring", mass = 1, stiffness = 100, dampening = 15 }) -- NEW: Spring curve
hl.curve("snappy", { type = "spring", mass = 1, stiffness = 165, dampening = 17 }) -- lively window-open pop

-- Animations
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, bezier = "easeOutQuint" })
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "snappy", style = "popin 90%" })
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 1.5, spring = "bouncy", style = "slidevert" })
