# Theme adapted from https://github.com/catppuccin/qutebrowser/blob/6737f1c36a9d05be05b7961945e7028c0f70831f/setup.py
p: {
  colors = {
    completion = {
      category = {
        bg = p.base;
        fg = p.green;
        border = {
          bottom = p.mantle;
          top = p.overlay2;
        };
      };

      even.bg = p.mantle;
      odd.bg = p.crust;
      fg = p.subtext0;

      item = {
        selected = {
          bg = p.surface2;
          fg = p.text;
          border = {
            bottom = p.surface2;
            top = p.surface2;
          };
          match.fg = p.rosewater;
        };
      };

      match.fg = p.text;

      scrollbar = {
        bg = p.crust;
        fg = p.surface2;
      };
    };

    downloads = {
      bar.bg = p.base;
      error.bg = p.base;
      start.bg = p.base;
      stop.bg = p.base;

      error.fg = p.red;
      start.fg = p.blue;
      stop.fg = p.green;
      system.fg = "none";
      system.bg = "none";
    };

    hints.match.fg = p.subtext1;

    keyhint = {
      bg = p.mantle;
      fg = p.text;
      suffix.fg = p.subtext1;
    };

    messages = {
      error.bg = p.overlay0;
      info.bg = p.overlay0;
      warning.bg = p.overlay0;

      error.border = p.mantle;
      info.border = p.mantle;
      warning.border = p.mantle;

      error.fg = p.red;
      info.fg = p.text;
      warning.fg = p.peach;
    };

    prompts = {
      bg = p.mantle;
      border = "1px solid ${p.overlay0}";
      fg = p.text;
      selected.bg = p.surface2;
      selected.fg = p.rosewater;
    };

    statusbar = {
      normal.bg = p.base;
      insert.bg = p.crust;
      command.bg = p.base;
      caret.bg = p.base;
      caret.selection.bg = p.base;

      progress.bg = p.base;
      passthrough.bg = p.base;

      normal.fg = p.text;
      insert.fg = p.rosewater;
      command.fg = p.text;
      passthrough.fg = p.peach;
      caret.fg = p.peach;
      caret.selection.fg = p.peach;

      url.error.fg = p.red;

      url.fg = p.text;

      url.hover.fg = p.sky;

      url.success.http.fg = p.teal;

      url.success.https.fg = p.green;

      url.warn.fg = p.yellow;

      private.bg = p.mantle;
      private.fg = p.subtext1;
      command.private.bg = p.base;
      command.private.fg = p.subtext1;
    };

    tabs = {
      bar.bg = p.crust;
      even.bg = p.surface2;
      odd.bg = p.surface1;

      even.fg = p.overlay2;
      odd.fg = p.overlay2;

      indicator.error = p.red;
      indicator.system = "none";

      selected.even.bg = p.base;
      selected.odd.bg = p.base;

      selected.even.fg = p.text;
      selected.odd.fg = p.text;
    };

    contextmenu = {
      menu.bg = p.base;
      menu.fg = p.text;

      disabled.bg = p.mantle;
      disabled.fg = p.overlay0;

      selected.bg = p.overlay0;
      selected.fg = p.rosewater;
    };
  };
  hints.border = "1px solid ${p.mantle}";
}